无法从JSON数据添加选择选项

时间:2011-01-17 04:11:30

标签: jquery

我正在尝试使用jQuery ajax调用获取下拉列表的项目列表。

$.ajax({
    type: "POST",
    url: "PCSI.aspx/GetIndividuals",
    data: '{role: "' + $('#ddlRole').value + '"}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data, textStatus) {
        alert(data.d);
        $('#ddlIndividuals').find('option').remove().end();
        $("#ddlIndividuals").append($("<option></option>").text('<All>')
                                                         .val(-1));
        $.each(data.d, function(index, item) {
        $("#ddlIndividuals").append(
                           $("<option></option>").text(item.Display)
                                                         .val(item.Value));
        });
    }
});

警报(data.d)告诉我我的数据看起来不错:

[{"Display":"test","Value":"1"},{"Display":"test2","Value":"2"}]

但$ .each似乎没有用。我错过了什么?

1 个答案:

答案 0 :(得分:0)

尽管这个问题已经发布了很长时间,但我现在正在回答,将来任何人都可以从中获得帮助。

$.ajax({
  type: "POST",
  url: "PCSI.aspx/GetIndividuals",
  data: '{role: "' + $('#ddlRole').value + '"}',
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(data, textStatus) {
    alert(data.d);
    $('#ddlIndividuals').empty().append($("<option><All></option>").val(-1));
    $.each(data.d, function(index, item) {
      var opt = $("<option>"+item["Display"]+"</option>").val(item["Value"]);
      $("#ddlIndividuals").append(opt);
    });
  }
});

我用empty()代替了remove()end()