javascript - 无法让 JSON 在下拉列表中正确呈现

标签 javascript php jquery json

我正在尝试从 PHP 文件中获取 JSON 并使用它来填充下拉框。

我从 PHP 文件中很好地获取了 JSON。它看起来像这样:

[{"state":"AL"},{"state":"AK"},{"state":"AZ"},{"state":"AR"}]

我可以在开发人员工具的响应中看到它进展顺利。但是,当我查看 JSON 时,第 1 行是空的,所有内容都在第 2 行上。不确定这是否有问题。

在 HTML 方面,这是我所得到的:

<select id="myselect"></select>

 $.getJSON('state_get.php', function(data) {               
   $.each(data, function(key, val) {
    $('#myselect').append("<option>"+key.text+"</option>");
})
 });

我在下拉菜单中得到的是一堆带有“未定义”的选项。似乎每个 JSON 值都有一个对应的值,因此某些内容是正确的,但并非完全正确。

如有任何帮助,我们将不胜感激。

最佳答案

每个回调的第一个参数是索引,第二个参数是值,也是属性的键是 State 而不是 text

$.getJSON('state_get.php', function (data) {
    $.each(data, function (key, val) {
        $('#myselect').append("<option>" + val.state + "</option>");
    })
});

关于javascript - 无法让 JSON 在下拉列表中正确呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27613981/

相关文章:

javascript - 如何将内联元素与具有显示图库的放大弹出窗口中的图像结合起来

javascript - 如何在具有正则表达式模式的匹配方法中使用变量

javascript - Javascript 或 PHP for 循环中是否有 "superbreak"?

javascript - 将变量保存在本地存储中然后进行比较

php - 学说 DQL JOIN

php - 未定义的属性:Illuminate\Pagination\LengthAwarePaginator::$name

javascript - 为什么 jQuery.fler 插件不使用 Ajax/PHP 删除图像?

javascript - 如何在javascript中转换json数据

php - 在桌面和智能手机中为不同域索引相同的 URL

javascript - jQuery UI Datepicker 显示不正确的周数