从JSON填充选择列表

时间:2011-06-05 20:25:23

标签: php json jquery

我一直在寻找一个似乎是一个简单问题的解决方案,但我无法找到解决方案...任何指导都将不胜感激。

我正在尝试使用从PHP脚本检索的JSON对象构建一个选择框。 PHP脚本(versions.php)正在对数据库表运行查询;代码如下:

$posts = array();
if(mssql_num_rows($result)) {
  while($post = mssql_fetch_assoc($result)) {
    $posts[] = $post;
  }
}
header('Content-type: application/json');
echo json_encode($posts);

...并返回以下json结构:

[{ “版本”: “3.3.0”},{ “版本”: “1.5.0”}]

从中央JS文件调用PHP文件,其结构如下:

jQuery(function($){
    $.getJSON('versions.php', function(data) {
        var select = $('#release-list');
        $.each(data, function(key, val){
            var option = $('<option/>');
            option.attr('value', val)
                  .html(data)
                  .appendTo(select);
        });
    });
});

看看firebug,我看到了对象列表,但没有看到数组中的值。我想这与上面javascript文件中的代码有关 - 只是不确定如何访问json对象中的值。

提前致谢。

1 个答案:

答案 0 :(得分:4)

你快到了。根据您的JSON结构,它看起来应该是这样的:

jQuery(function($){
    $.getJSON('versions.php', function(data) {
        var select = $('#release-list');
        $.each(data, function(key, val){
            $('<option/>').attr('value', val.version)
                  .html('version ' + val.version)
                  .appendTo(select);
        });
    });
});