DropDown没有动态填充

时间:2009-12-31 12:13:37

标签: jquery ajax json

我使用以下代码填充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;  

在上述代码之前打开连接。

1 个答案:

答案 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('') );
})