2011-06-05 104 views
3

我一直在寻找解决方案,看起来是一个简单的问题,但无法找到解决方案...任何指导将不胜感激。从JSON填充选择列表

我正在尝试使用从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”} ]

PHP的文件被从中央JS文件,它的结构如下称为:

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); 
     }); 
    }); 
}); 

综观萤火,我看到对象列表,而不是阵列中的值。我想这与上面的JavaScript文件中的代码有关 - 只是不确定如何访问json对象的值。

在此先感谢。

回答

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); 
     }); 
    }); 
}); 
+0

非常感谢Stephen - 完美的工作! – user778444 2011-06-05 20:54:05