IE6中select标签的option不能disabled的解决方案

引入 select-option-disabled-emulation.js  即可


内容如下:


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";  
    }  
  }  
}   

原理:select获得焦点时,记录之前的值,onchange后select值归位


你可能感兴趣的:(IE6中select标签的option不能disabled的解决方案)