您可能没注意到的ie6 select bug

最近页面中要做个省市联动菜单,自然得与select的option打交道了

开发过程中遇到几个bug,现整理出来。

1.option.remove

 因为菜单是联动的,所以城市的option要动态更新,当然就得先清除了,于是我就写了个清除的函数

function clearAllOptions(self){
                      var option=self.options;
                      for(var i=0,len=option.length;i<len;i++){
                           option.remove(i);
                      }  
                   }

但发现在ie下并没有达到预期的效果

产生这个的原因是option总是在动态的变化,所以无法全部清除掉

解决办法是直接令它的innerHTML='',这应该也是最高效的方式

2.对应动态创建的option如果想为其设置selected属性,这要先插入dom中,然后再设置

即这样

var provinceOption=new Option(p,p);
                           DOM.get('#J_province').options.add(provinceOption);
                           if(provice==p){
                               provinceOption.selected="selected"; 
                           }

如果你先设置再插入,就会得到蛮郁闷的结果了

var provinceOption=new Option(p,p);
                           if(provice==p){
                               provinceOption.selected="selected"; 
                           }

DOM.get('#J_province').options.add(provinceOption);

posted @ 2011-08-15 16:24  淘小杰  阅读(1155)  评论(1编辑  收藏  举报