将JSON数据加载到下拉列表中

时间:2013-01-22 14:49:24

标签: jquery json

我有一个JSON返回下拉值(值和文本)。我需要将这些数据加载到我的下拉列表中。我不知道如何将这些数据加载到下拉列表中。请告诉我可能性。

代码

    $('#SupplierId').change(function () {
    var a = $(this).val();
    $.post('@Url.Action("MatchPoNo", "Subscriptions")', { Id: a }, function (data) {

        $("#PoNo").select2({

        });
    });
});

3 个答案:

答案 0 :(得分:2)

我没有对此进行测试,但回调中的类似内容应该可以正常工作。这假设您正在返回一个javascript数组。

data.each(function(){
 $option = $("<option></option>");
 $option.val(this.value);
 $option.html(this.text);
 $('#dropdown').append($option);
});

答案 1 :(得分:1)

尝试将起作用:

var data = [
    {val: 1, text: "One"},
    {val: 2, text: "Two"},
];

$("#PoNo").append(function() {
    return $.map(data, function(el, i) {
        return '<option value=' + el.val + '>' + el.text + '</option>'; 
        // return $('<option>', {val: el.val, text: el.text});
    });
});

http://jsfiddle.net/SgCXy/

然而,如果您发布了json的示例,那就太好了。

答案 2 :(得分:0)

最简单的方法是使用JQuery view engine并将数组加载到下拉列表中:

var data = [
    {"text":"North","value":"N"},
    {"text":"West","value":"W"},
    {"text":"South","value":"S","selected":true},
    {"text":"East","value":"E"}
];
$("#dropdown").view(data);

请在此处查看详细信息:https://jocapc.github.io/jquery-view-engine/docs/ajax-dropdown