Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用json填充下拉列表_Jquery_Json - Fatal编程技术网

Jquery 用json填充下拉列表

Jquery 用json填充下拉列表,jquery,json,Jquery,Json,我不熟悉jQuery。我试图用json数据填充下拉列表。在这段代码中,我使用ajax接收数据。它也以json格式显示在警报中,但未填充下拉列表。我被卡住了。请帮忙 $.ajax({ url: "http://10.0.2.2/Quizapp/getsubcategory.php", type: 'POST', data: data, beforeSend: functi

我不熟悉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);
                }
            });
$.ajax({
url:“http://10.0.2.2/Quizapp/getsubcategory.php",
键入:“POST”,
数据:数据,
beforeSend:function(){
},
成功:函数(数据、文本状态、xhr){
警报(数据);
$.getJSON('data',函数(data){
员工=数据项1;
$。每个(员工,职能部门(索引,员工){
$(“#子类别”).append(“+employee.Name+”);
//警报(“1..”+employee.scid);
});
});
},
错误:函数(xhr、textStatus、errorshown){
警报(错误抛出);
}
});
您有两个问题:

  • 您想要的是
    $.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>");
}
var items=$.parseJSON(数据).items1;
对于(变量i=0;i
此外,您可能不应该像那样构建HTML字符串,因为这样您就不得不担心引用。相反,请执行以下操作:

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

您的警报功能是否正常。Json数据也显示在警报中。{“items1”:[{“scid”:“1”,“Name”:“Oops”,“cid”:“1”}]}。。这是警报中显示的json数据实际上数据是json格式的,我不知道如何在下拉列表中填充它。您需要的是$.parseJSON,而不是$.getJSON。我修改了我的答案。如何在我的代码中使用$.parseJSON。你能帮忙吗?请看我上面修改过的答案。我试着帮你把一切都解决了。你有点染上杂草了。