1
嗨我正在做依赖dropdownlist。为什么ajax无法将数据返回表td中的元素?
如果<select>
不在表td中,代码将起作用。
但是,如果选择标记在表td中,则ajax将无法返回表td中的元素。我怎么能解决这个问题?
<table>
<tr>
<td>
<label>Country:</label><br/>
<select name="country" id="country-list" onChange="getState(this.value);">
<option value="">Select Country</option>
<?php
foreach($results as $country) {
?>
<option value="<?php echo $country["id"]; ?>"><?php echo $country["name"]; ?></option>
<?php
}
?>
</select>
</td>
</tr>
<tr>
<td>
<label>State:</label><br/>
<select name="state" id="state-list" class="demoInputBox">
<option value="">Select State</option>
</select>
</td>
</tr>
</table>
<script>
function getState(val) {
$.ajax({
type: "POST",
url: "get_state.php",
data:'country_id='+val,
success: function(data){
$("#state-list").html(data);
}
});
}
</script>
在get_state.php页
<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
if(!empty($_POST["country_id"])) {
$query ="SELECT * FROM states WHERE countryID = '" . $_POST["country_id"] . "'";
$results = $db_handle->runQuery($query);
?>
<option value="">Select State</option>
<?php
foreach($results as $state) {
?>
<option value="<?php echo $state["id"]; ?>"><?php echo $state["name"]; ?></option>
<?php
}
}
?>
你能告诉在''
好的我已经显示它 – doflamingo
你应该填充它之前清空你的'状态列表'。您是否在发送给客户之前正确追加了选项列表?你可以在你的控制器端用'print_r(data)'检查结果数据,然后调用'die()'来查看数据列表。例如'print_r(data); die();' –