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

时间:2014-08-11 16:30:07

标签: javascript jquery ajax json select

我有这个由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上实现这一目标。

1 个答案:

答案 0 :(得分:1)

Concept Verification

以下内容会将option元素附加到现有的#subCategory选择元素:

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