如何从json解析数组中分配选择选项的值

How to assign the values of select option from json parsed array?

本文关键字:选择 分配 选项 数组 json      更新时间:2023-09-26

我有一个json返回的数组。

{1:Android, 2:IOS, 3:Business Management Systems, 4:Database, 5:Codes/Scripts, 6:Others}

1: "Android"
2: "IOS"
3: "Business Management Systems"
4: "Database"
5: "Codes/Scripts"
6: "Others"

该数组保存在变量data上。我现在的ajax代码是:

$.post('fetchSubCategory',{val:val},function(data){
            var subCategory = $.map(data, function(el){
                return el;
            });
             $.each(subCategory, function(key, value) {   
                 $('#subCategory')
                    .find('option')
                    .remove()
                    .end()
                    .append($('<option>', { value : key })
                    .text(value)); 
            });
      });

但是它返回这个[object Object]。我希望这个数组填充我的select元素,其中值是那些id,文本是那些名称。像这样:

<select class="form-control square" id="subCategory" name="Category">
    <option value="1">Android</option>
    <option value="2">IOS</option>
    <option value="3">Business Management Systems</option>
    <option value="4">Database</option>
    <option value="5">Codes/Scripts</option>
    <option value="5">Others</option>
</select>

如何在Javascriptjquery上实现这一点

概念验证

option元素添加到现有的#subCategory select元素:

$.post('fetchSubCategory',{val:val},function(data){
    $.each(data, function(key, value) {   
        $('#subCategory').append(
            $('<option/>').val( key ).text( value )
        );
    });
});