我有以下代码从json请求中获取名称和值的数组,并将它们附加到html页面中的select项目。
到目前为止,它适用于所有浏览器,除了IE而不是期望的结果
<option value="211">Bakery and Cafe</option>
我得到了一个结果
<option value="211"/>
使用Javascript:
$.getJSON(link,function(data) {
$('#CltOrgType').find('option').remove().end();
for (key in data){
alert(data[key][0],data[key][1]);
var option = new Option(data[key][0],data[key][1],false,false);
$('#CltOrgType').append(option);
}
});
JSON响应如下所示
[[ "Asian Cuisine" , "200" ], [ "Bakery and Cafe" , "211" ], [ "Breakfast, Lunch & Snacks" , "215" ], [ "Cafe" , "195" ], [ "Fully Licensed Restuarant" , "205" ], [ "Japanese Cuisine" , "210" ], [ "Licensed Italian Cuisine" , "206" ], [ "Middle Eastern Cuisine" , "209" ], [ "Pizza Restaurant" , "199" ], [ "Salads, Soups & Sandwiches" , "213" ], [ "Sandwiches and Wraps" , "207" ], [ "Sushi" , "214" ], [ "Take Away" , "208" ], [ "Yoghurt and Salads" , "212" ]]
并且所有浏览器都使用console.log(data [key] [0] +“,”+ data [key] [1])或alert(data [key] [0] +“,”+)显示正确的信息数据[键] [1])
任何想法,解决方案或想法都将受到高度赞赏!因为这些让我陷入了一段时间
答案 0 :(得分:1)
为什么在阵列上使用for-in?你知道你可以使用jquery动态创建元素吗?
$.getJSON(link,function(data) {
var cot = $('#CltOrgType');
cot.empty();
$.each(data,function(i,val){
$('<option/>',{
value : val[1]
})
.text(val[0])
.appendTo(cot);
});
});