$(&#39; #MySelect&#39;)。追加($(&#34; <option value =“finalv”> </option>&#34;)。val(finalv.Value).text(finalv。文本))

时间:2015-04-17 09:29:21

标签: jquery

var result={"clientIds":[{"id":0,"clientId":"check123"},{"id":1,"clientId":"check234"}]};
$.each(result, function (key, data) {
    $.each(data, function (index1, valindex) {
        $.each(valindex,function(finalk,finalv) {
            alert("Final Key::::"+finalk+"Final Value::::"+finalv);
            $('#MySelect').append($("<option value='finalv'></option>").val(finalv.Value).text(finalv.Text));
            //  alert("Working"); 
        });
    });
 });

我有这样的代码。在最后each循环中,我得到值0,check123,1,check234

我想在下拉列表中输入上述值

我的代码是:

$('#MySelect').append($("<option></option>").val(finalv.Value).text(finalv.Text))

当我执行代码时,字段名称不会显示在下拉列表中。我希望将值名称作为每个选项。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

如果您需要使用JSON数据填充下拉列表,则需要先解析它。这是stackoverflow link,显示相同的内容。

您需要将Key-Value对与JSON对象分开,将其放在选项标记中并将选项标记附加到下拉列表。

我建议你试试这个,

$.each(result, function (key, data) {
    $.each(data, function (index1, valindex) {
        $($.parseJSON(valindex)).map(function () {
            return $('<option>').val(this.value).text(this.label);
        }).appendTo('#MySelect');
        //  alert("Working"); 
    });
});