2011-04-20 193 views
4

我JSON數據如下如何JSON數據添加到選擇標籤jQuery中

{ "aaData": [["2","MAC"],["3","Apple"],["5","Windows"],["5","Unix"],["6","Linux"]]} 

我嘗試用下面的jQuery代碼,但數據不會選擇標記添加

<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> 
+3

顯示我們fillSelect功能 – 2011-04-20 18:43:06

+0

更新子類別 – Elankeeran 2011-04-20 18:50:23

+0

你可能只需要選擇標籤$( 「#子類別」)fillSelect(data.aaData)。 – Galen 2011-04-20 19:05:16

回答

5

你可以循環訪問aaData數組,然後使用jQuery appendTo方法將每個項目添加到select框中。

我不知道該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); 
} 
+0

謝謝Wsanville – Elankeeran 2011-04-20 19:02:43

2
$("#subcategory").append(
    $.map(data.aaData,function(index,value){ 
      return $("<option/>").attr("value",value[0]).text(value[1]); 
    }).get(); 
); 
相關問題