jQuery / Javascript将选项添加到IE7 / 8中的选项中

时间:2013-02-11 03:07:04

标签: javascript jquery json internet-explorer-8 internet-explorer-7

我有以下代码从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])

任何想法,解决方案或想法都将受到高度赞赏!因为这些让我陷入了一段时间

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);
  });
});