用json填充下拉列表

时间:2014-05-31 20:46:34

标签: jquery json

我是jQuery的新手。我试图用json数据填充下拉列表。在这段代码中,我收到了ajax的数据。它也以json格式显示在警报中,但未填充下拉列表。我被卡住了。请帮忙..

$.ajax({
                url: "http://10.0.2.2/Quizapp/getsubcategory.php",
                type: 'POST',
                data: data,
                beforeSend: function() {

                },
                success: function(data, textStatus, xhr) {
                    alert(data);
                    $.getJSON('data', function(data) {
                        employees = data.items1;
                        $.each(employees, function(index, employee) {
                            $("#subcategory").append("<option value='"+employee.scid+"'>"+employee.Name+"</option>");
                            //alert("1.."+employee.scid);
                        });
                    });
                },
                error: function(xhr, textStatus, errorThrown) {

                    alert(errorThrown);
                }
            });

1 个答案:

答案 0 :(得分:0)

你有两个问题:

  • 您需要$.parseJSON,而不是$.getJSON
  • 您不应该在引号中包含“数据”。

您的最终结果应如下所示:

var items = $.parseJSON(data).items1;
for (var i = 0; i < items.length; i++) {
   $("#subcategory").append("<option value='"+items[i].scid+"'>"+items[i].Name+"</option>");
}

此外,您可能不应该构建类似HTML的字符串,因为您必须担心引用。相反,这样做:

$("#subcategory").append($("<option/>").attr("value", items[i].scid).html(items[i].name));