我使用以下代码填充DropDown:
$(document).ready(function(){
$('#inDistrict').sSelect();
$("#inDistrict").change(function(){
$.getJSON("filldistricts.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>';
}
})
})
})
文件的代码:filldistricts.php如下:
<?php
require_once("../Lib/dbaccess.php");
$query = "SELECT districtid, districtname FROM districtmaster";
try
{
$result = dbaccess::GetRows($query);
echo json_encode($result);
}
catch(exception $ex)
{
echo "<script type='text/javascript'>alert('".$ex."')</script>";
}
?>
DropDown没有填充。问题在哪里?
编辑:
DBAccess.php [GetRows function]仅包含以下代码:
$resultSet = mysql_query($inQuery);
return $resultSet;
在上述代码之前打开连接。
答案 0 :(得分:1)
您正在更改处理程序中创建options
变量,但实际上并没有将最终结果放入下拉列表中!
尝试:
$.getJSON("filldistricts.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = [];
for (var i = 0; i < j.length; i++) {
options.push( '<option value="' + j[i].optionValue + '">' + j[i].optionDisplay + '</option>' );
}
// change #whatever to the id of the dropdown you
// want to update, it's not clear from your question
$('#whatever').html( options.join('') );
})