今天在做东西的时候,想到给option项添加disabled的禁用功能,没想到竟然有属性却无效的。。。不过firefox里倒是有效,无奈,IE虽然差劲,但PC毕竟还是微软的天下。。。。还是要适应IE阿。。。

网罗了一下资料,发现一个不错的脚本,那来用了下,感觉不错,基本可以跟firefox里的效果媲美了,而且代码也不多

代码如下:
(为了注重版权问题,这里就没把原注释删除)

/**/ 
  /****************************************************************
* Author:   Alistair Lattimore
* Website:  http://www.lattimore.id.au/
* Contact:  http://www.lattimore.id.au/contact/
*           Errors, suggestions or comments
* Date:     30 June 2005
* Version:  1.0
* Purpose:  Emulate the disabled attributte for the
* element in Internet Explorer.
* Use: You are free to use this script in non-commercial
* applications. You are however required to leave
* this comment at the top of this file.
* * I'd love an email if you find a use for it on your
* site, though not required.
****************************************************************/ 
   
window.onload  
  = 
    
  function 
  () 
 
  ... 
  {
    if (document.getElementsByTagName)
    ...{
        var s = document.getElementsByTagName("select");
        if (s.length > 0)
        ...{
            window.select_current = new Array();
            for (var i=0, select; select = s[i]; i++)
            ...{
                select.onfocus = function()
                ...{
                    window.select_current[this.id] = this.selectedIndex;
                }
                select.onchange = function()
                ...{
                    restore(this);
                }
                emulate(select);
            }
        }
    }
} 
  

 
  function 
   restore(e)
 
  ... 
  {
    if (e.options[e.selectedIndex].disabled)
    ...{
        e.selectedIndex = window.select_current[e.id];
    }
} 
  

 
  function 
   emulate(e)
 
  ... 
  {
    for (var i=0, option; option = e.options[i]; i++)
    ...{
        if (option.disabled)
        ...{
            option.style.color = "graytext";
        }else...{
            option.style.color = "menutext";
        }
    }
}