如何JSON数据添加到选择标签jQuery中
问题描述:
我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>
答
你可以循环访问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
答
$("#subcategory").append(
$.map(data.aaData,function(index,value){
return $("<option/>").attr("value",value[0]).text(value[1]);
}).get();
);
显示我们fillSelect功能 – 2011-04-20 18:43:06
更新子类别 – Elankeeran 2011-04-20 18:50:23
你可能只需要选择标签$( “#子类别”)fillSelect(data.aaData)。 – Galen 2011-04-20 19:05:16