ie6下select的若干问题

 select设置z-index无效,遮挡顶层div的bug

如下例:

 




	
	ie6 select
	





 

 

 

ie6下div被遮挡

ie6下div被遮挡

 

其它浏览器正常

其它浏览器正常

解决方法:

1.很naive的方法,把遮挡div的select hide掉,因为一般是弹出层被select挡住,在弹出层上进行一些操作的时候,下面的select其实没用,隐藏掉就好了呗,display:none

2. 用div模拟select

这个简单,但总觉得怪怪的~

3. 用iframe当做div的底

虽说div直接盖不住select,但是div可以盖iframe,而iframe可以盖select,所以,div层的下层加上一个iframe,这个div就可以盖住select了

代码如下

 




	
	ie6 select
	





 

 

比较懒的同学,其实有现成的jQuery插件可用,原理就是使用iframe,链接http://github.com/brandonaaron/bgiframe

 

 

 

 select设置选中值的bug

 

这个bug赶脚很奇怪,在select的内容是动态插入的时候,用$(‘select’).val(‘xx’)设置选中项会报错,ie7及以上无任何问题

在网上找了一些资料,说是用个setTimeout就可以了,抱着怀疑的心理试了下,发现真的OK了

代码

 

setTimeout(function() { $('select').val('xx');}, 1);

2 Responses

  1. 蔬食无忧说道:

    照着弄了下,好像还行啊,不知道哪里错了 😕