jQuery/Javascript将选项添加到IE7/8中的选项
问题描述:
我有以下代码从json请求中获取名称和值的数组,并将它们附加到html页面中的选定项目。jQuery/Javascript将选项添加到IE7/8中的选项
它为我的作品迄今在所有浏览器,除了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] +)显示正确的信息, “+ data [key] [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);
});
});
谢谢约瑟夫,我仍然在学习,并且在查看循环遍历json对象的各种示例之后,代表我做了一个坏习惯。感谢您澄清并更好地解释jQuery功能。 – 2013-02-11 03:20:30