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

我有json数据如下

{ "aaData": [["2","MAC"],["3","Apple"],["5","Windows"],"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>

解决方法

您可以循环遍历aaData数组,并使用jQuery appendTo方法将每个项目添加到选择框中.

我不确定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);
}

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: &lt;span id=&quot...
jQuery 添加水印 &lt;script src=&quot;../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...