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

本文介绍了一种通过JavaScript实现的禁用下拉菜单选项的方法。该方法可以在用户选择被禁用的选项时,自动将选择恢复到之前的有效选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入 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值归位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值