`
zuiyanwangyue
  • 浏览: 164411 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

JQuery动态生成页面select元素时在IE下的BUG

阅读更多

场景:想要制作一个级联列表(A、B),A改变时B也随着改变,那么在初始化时B应该为一个空下拉列表,但是如果在IE下这样写:

 

jQuery(document).ready(function($){
    $("body").append($("<select id='a'><option value='a'>A</option><option value='b'>B</option></select>")
       .change(function(){
          $("#b").empty().append($("<option>"+this.value+"</option>"));
     }));

    $("body").append("<select id='b'></select>");
});

 

在IE8下当A发生改变时B并不能动态获得相应的选项(option),FireFox没有问题。经过测试,如果把B元素放到页面上(<body><select id="b"></select></body>)而不是动态生成则没有问题。

 

而如果非要动态生成的话,经过测试在生成时为b增加一个空选项也不会有问题,即将$("body").append("<select id='b'></select>");改为$("body").append("<select id='b'><option></option></select>");

 

不知道这应该归咎于JQuery还是IE 8.0.7600.16385。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics