如何使用Javascript解析json并在下拉按钮中显示数据

How to parse json and show data in a dropdown button using Javascript?

本文关键字:按钮 显示 数据 Javascript 何使用 解析 json      更新时间:2023-09-26

我有一个JSON结构,看起来像这样

[
   {
      "term_id":"28",
      "name":"Audi",
      "slug":"audi",
      "term_group":"0"
   }
]

在我的HTML页面中,我有一个下拉按钮,我想在单击后显示名称。为此,我编写了一些Javascript代码,如下所示:

var serviceURL = "http://www.dohamark.com/samudra/";
var make;
$('#make1').bind('pageinit', function(event) {
    getEmployeeList();
});
function getEmployeeList() {
    $.getJSON(serviceURL + '1st.php', function(data) {
        $.each(data, function(index, employee) {
            $('#make1').append('<option>' + employee.name + '</option>');
        });
    });
}

但是,该脚本在单击下拉按钮时没有显示任何内容,只有一个空白位置。我是JavaScript的新手,对JSON解析了解不多。有人能帮我指出我的错误吗?

试试这个:

$.each(data, function (index, employee) {
    $('#make1').append('<option>' + employee.name + '</option>');
});

小提琴:http://jsfiddle.net/KYtph/2/

你的代码很好。确保它不像其他人建议的那样跨域,并正确解析为json。

这个怎么样:

for (var index in employee) {
    $('#make1').append($('<option>').text(employee[index].name));
});

如果我没看错你的问题,我想应该可以了。

EDIT -只是为了确保OP清楚,当我在for in循环中使用变量employee时,应该引用返回的JSON。

我想这样写:

$.each(data, function () {
    $('#make1').append('<option>' + this.name + '</option>');
});

同时,@迈克·布莱恩特说得很好;如果您要跨域访问,则必须使用JSON-P.

之类的内容。

请尝试以下代码:

    var dd = $("#make1");
    $(dd).empty();
    $(dd).append($('<option />').attr('value', '-1').text('-----Select----'));
     $.each(data, function(index, employee) {
        dd.append($('<option />').attr('Value',employee.ID).text(employee.Name));
    });