jquery - 使用 json_encode 的人口选择选项

标签 jquery json

有人可以帮我弄清楚为什么我的 json 数组没有填充我的选择下拉列表吗?数组打印良好(名称:值),我尝试了不同的方法(.post .getJSON)来填充选择字段。请参阅下面的代码...

PHP

$q = "select Site_ID, FirstName, LastName from ClientInfo";
$sql = mysql_query($q);
$data = array();
    while($row = mysql_fetch_array($sql, true)){
    $data[] = $row; 
};
echo json_encode($data);

这是它在网页上打印的内容:

[{"Site_ID":"10000001","FirstName":"drew","LastName":"0"},     {"Site_ID":"10000002","FirstName":"hello","LastName":"0"},{"Site_ID":"10000003","FirstName":"hihi","LastName":"0"},{"Site_ID":"10000004","FirstName":"","LastName":"0"},{"Site_ID":"10000005","FirstName":"SueAnn","LastName":"Hall"},{"Site_ID":"10000006","FirstName":"Test","LastName":"Name"}]

带有脚本的 HTML

<body>
<script type="text/javascript">
$(function(){
  $.getJSON('checkin.php',function(data){
    $.each(data,function(name,value) 
    {
      items+="<option value='"+item.id+"'>"+item.name+"</option>";
    });
    $("#clients").html(items); 
  });
});
</script>

<select id="clients">
<option>Default</option>
</select>
</body>

在我运行 html 之前工作正常。预先感谢您的帮助。

最佳答案

  1. 您应该在串联之前定义 items 变量。
  2. 代码中的item未定义,您应该使用已作为参数传递给处理程序的value属性。
  3. 您的对象没有 idname 属性。

    var items = '';
    $.each(data,function(name,value) {
       items += "<option value='"+value.Site_ID+"'>"+value.FirstName+"</option>";
    });
    $("#clients").html(items); 
    

http://jsfiddle.net/5PEPg/

关于jquery - 使用 json_encode 的人口选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14061477/

相关文章:

javascript - 从两个对象生成 JSON 补丁

php - 如何使用 Typescript 发出 AJAX 请求? (使用 JSON)

javascript - json 错误 : SyntaxError: JSON. 解析:意外字符

javascript - 在 iOS UIWebView 中评估 JavaScript 时出现 “SyntaxError: Unexpected EOF”

javascript - MVC - Kendo 模板在使用特殊语言字符时出现错误

jquery - 如何使 Bootstrap 不覆盖我的特定样式?

Jquery 数据表日期时间时刻插件未正确排序

javascript - 如何在没有jquery元素的情况下重写css规则?

jquery - 我正在使用 cakephp 并想知道如何使管理员 session 过期

Python,将 mongodump 的 bson 输出转换为 json 对象数组(字典)