我收到像
这样的json格式{
"0": ["AL", "Alabama"],
"9": ["FL", "Florida"]
}
我想在选择框中添加此值,选项值为lik
<option value="AL">Alabama</option>
<option value="FL">Florida</option>.
为此,我尝试了下面的代码。它附加了所有值
success: function(json) {
jQuery('#stateId').html('');
jQuery.each(json, function(i, value) {
jQuery('#stateId').append(jQuery('<option>').text(value).attr('value', value));
});
}
答案 0 :(得分:1)
var json = {
"0": ["AL", "Alabama"],
"9": ["FL", "Florida"]
};
jQuery('#stateId').html('');
jQuery.each(json, function(i, value) {
jQuery('#stateId').append(jQuery('<option>').text(value[1]).attr('value', value[0]));
});
请参阅fiddle
答案 1 :(得分:0)
试试这个:
success: function(json) {
jQuery('#stateId').html('');
jQuery.each(json, function(i, value) {
jQuery('#stateId').append(jQuery('<option>').text(value).attr('value', value[i]));
});
}
答案 2 :(得分:0)
您需要了解更多有关json的信息。您的json对象不是数组。它包含多个命名(命名为0
,1
)对象。这些对象中的每一个都是一个数组
所以你必须遍历json来获取每个命名索引,然后在该索引处获取对象,你必须使用jsonObject[index]
而不是jsonObject.index
现在每个对象都是两个项目的数组,您可以将它们用作文本和值,如
for(var index in originalJson){
var val = originalJson[index]; //it is same like originalJson.prop but
jQuery('#stateId').append('<option />').text(val[0]).attr('value',val[1]);
}
答案 3 :(得分:0)
也可以这样做
d = {
"0": ["AL", "Alabama"],
"9": ["FL", "Florida"]
}
var str = "";
$.each(d, function(i,obj){
str += "<option value='"+obj[0]+"'>"+obj[1]+"</option>";
})
$("#selDropDown").html(str)