最好的方法:iframe来当作div的底
Div被Select挡住,是一个比较常见的问题。
有的朋友通过把div的内容放入iframe或object里来解决。
可惜这样会破坏页面的结构,互动性不大好。
这里采用的方法是:
虽说div直接盖不住select
但是div可以盖iframe,而iframe可以盖select,
所以,把一个iframe来当作div的底,
这个div就可以盖住select了.
代码如下 | 复制代码 |
Click to show DIV. Click to hide DIV. |
在IE7及以下 虽然disabled 对 select能起作用,但对select下的option却无效。
解决方法通常是判断浏览器,如果是IE7以下的话,则当change和focus时改变option颜色和并且点击“无效”的option后 select选中的项值不变化
代码如下 | 复制代码 |
//判断是否是IE7以下浏览器 window.attachEvent("onload", function() { //给所有select添加事件 function restore(e) { function emulate(e) {
|
获取选中的option方式在IE中与FF/Chrome中的差异:
FF/Chrome中可以直接用selectDoc.selectedOptions获取到选中的option集合
IE中则没有selectedOptions属性(至少IE8,其他的没有测...)
如果 multiple="multiple" 则需要迭代所有option,用optionDoc.selected判断是否被选中,从而获取被选中的option集合
如果没有设置multiple的话,则可以直接用selectedIndex获取选中的option