如何在jquery中将json数据添加到select标记中

如何在jquery中将json数据添加到select标记中,jquery,json,Jquery,Json,我有如下json数据 { "aaData": [["2","MAC"],["3","Apple"],["5","Windows"],["5","Unix"],["6","Linux"]]} 我尝试使用下面的jquery代码,但不使用select标记添加数据 <script type="text/javascript"> $(document).ready(function() { $("#mc_category").change(function() {

我有如下json数据

{ "aaData": [["2","MAC"],["3","Apple"],["5","Windows"],["5","Unix"],["6","Linux"]]}
我尝试使用下面的jquery代码,但不使用select标记添加数据

<script type="text/javascript">
    $(document).ready(function() {
    $("#mc_category").change(function() {
            $.getJSON("/admin/getSubCategory.php", null, function(data) {
            $("#subcategory").fillSelect(data);
        });
    });

 $.fn.fillSelect = function(data) {
    return this.clearSelect().each(function() {
        if (this.tagName == 'SELECT') {
            var dropdownList = this;
            $.each(data, function(index, optionData) {
            var option = new Option(optionData.Text, optionData.Value);
                if ($.browser.msie) {
                    dropdownList.add(option);
                }
               else {
                    dropdownList.add(option, null);
               }
           });
     }
    });
}

});
</script>

$(文档).ready(函数(){
$(“#mc_类别”)。更改(函数(){
$.getJSON(“/admin/getSubCategory.php”),null,函数(数据){
$(“#子类别”).fillSelect(数据);
});
});
$.fn.fillSelect=函数(数据){
返回此.clearSelect().each(函数()){
如果(this.tagName==“选择”){
var dropdownList=此;
$.each(数据、函数(索引、选项数据){
var option=新选项(optionData.Text,optionData.Value);
如果($.browser.msie){
dropdownList.add(可选);
}
否则{
dropdownList.add(选项,空);
}
});
}
});
}
});

您可以在
aaData
数组中循环,然后使用jQuery方法将每个项目添加到
选择
框中

我不确定
fillSelect
方法的作用,但这里有一个实现,您可以用它来代替:

var sel = $('#subcategory');
for (var i = 0; i < data.aaData.length; i++)
{
    var e = data.aaData[i];
    $('<option>').text(e[1]).val(e[0]).appendTo(sel);
}
var sel=$(“#子类别”);
对于(var i=0;i
$(“#子类别”)。追加(
$.map(data.aaData,函数(索引,值){
返回$(“”).attr(“值”,值[0]).text(值[1]);
}).get();
);

更新的子类别是select标记,您可能只需要$(“#子类别”).fillSelect(data.aaData);
$("#subcategory").append(
     $.map(data.aaData,function(index,value){
          return $("<option/>").attr("value",value[0]).text(value[1]);
     }).get();
 );