`

IE中Option的disabled无效解决方法

阅读更多

今天在做东西的时候,想到给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";
        }

    }

}
 
分享到:
评论

相关推荐

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

    在早期的Internet Explorer 6(简称IE6)浏览器中,存在一个众所周知的兼容性问题:`<select>`标签内的`<option>`元素无法正确地应用`disabled`属性。这个问题使得开发者无法在IE6中实现禁用某些选项的功能,这对于...

    select-option-disabled-emulation.zip_OPTION_select option_select

    select-option-disabled-emulation.js解决IE6 Select 中 option 的disabled属性无效的办法~~~在页面加载时架子该js,呵呵有点问题:onchange 时间冲突 自己改改··

    端口出现err-disabled现象的解决方法合集.docx

    端口出现err-disabled现象的解决方法合集 端口出现err-disabled现象是CISCO交换机常见的一种故障现象,本文将详细描述该现象的原因及解决方法。 1.故障症状 当端口出现err-disabled现象时,会出现以下症状: * ...

    基于js disabled="false"不起作用的解决办法

    文章《基于js disabled="false"不起作用的解决办法》针对这种常见的问题给出了相应的解决办法。文章分析了为什么disabled="false"不起作用,并详细介绍了如何通过正确的JavaScript代码来修正这个问题。当开发者尝试...

    Ewebeditor License not found. Disabled.doc

    Disabled 的问题,今天我们将深入探讨这个问题的成因和解决方法。 首先,让我们了解 Ewebeditor 的 License 机制。Ewebeditor 的 License 是一个授权文件,用于验证用户的身份和权限。当用户安装 Ewebeditor 时,...

    交换机端口状态出现err_disabled的情况分析与解决方法.doc

    交换机端口状态出现err_disabled的情况分析与解决方法.doc

    select-disabled-传值

    在JSP页面中,首先定义一个`select`元素,并为其添加`disabled`属性,确保初始状态下它是不可编辑的: ```html <select id="postSelect" name="postId" disabled> <option value="01">经理</option> <option ...

    disabled属性

    在网页开发过程中,为了控制表单元素的状态与交互,`disabled`属性是一种非常实用且常见的工具。该属性主要用于HTML表单控件(如输入框、按钮等),用于禁用这些控件,使其无法进行用户交互,并且在表单提交时不会被...

    Ant design vue中的a-select在动态给option赋值之后,placeholder失效.pdf

    在实际开发过程中,我们可能会遇到一个常见问题,即当动态地给`a-select`的`option`赋值后,其`placeholder`属性失效,不再显示默认提示文本。这个问题通常出现在数据异步加载的情况下,比如从服务器获取数据并填充...

    用jQuery解决IE不支持的option disable属性

    总结起来,通过使用jQuery,我们可以优雅地解决IE浏览器不支持`<option>`的`disabled`属性的问题。上述代码通过CSS样式模拟禁用效果,并结合JavaScript逻辑,确保在用户尝试选择禁用选项时,选中状态不会改变。这个...

    Android studio 启动模拟器时解决 VT-x is disabled in BIOS的问题.docx

    在使用Android Studio开发Android应用程序的过程中,开发者经常遇到的一个问题是启动模拟器时提示“VT-x is disabled in BIOS”。这个问题是由于计算机的硬件辅助虚拟化技术(Intel Virtualization Technology,简称...

    form表单中的Input使用disabled不能提交的解决方法

    根据提供的资料,解决问题的关键在于,当遇到使用disabled属性导致表单不能提交的情况时,可以采取以下步骤:首先,在表单提交的事件处理函数中,临时将disabled属性移除,使得表单提交时包含该字段的值。...

    Web表单提交之disabled问题js解决方法

    ###知识点三:JavaScript解决方法 1. **动态移除disabled属性**: - 在表单提交之前,使用JavaScript代码动态地移除disabled属性,使得被禁用的元素可以被提交。 - 使用纯JavaScript或jQuery都可以实现这一操作,...

    用jquery设置按钮的disabled属性的实现代码

    在jquery中可以使用attr()函数修改按钮的disable属性 $(“#test”).attr(‘disabled’,false); jquery 控制button的disabled属性 代码如下: $(‘#button’).attr(‘disabled’,”true”);添加disabled属性 $(‘#...

    web组件disabled之后灰色变亮样式调整

    以上代码示例中,`.disabled-style`类定义了一系列针对`disabled`状态元素的样式规则,然后通过`@extend`语法(这里假设使用了预处理器如Sass/SCSS)将这些规则应用到了`input[disabled]`选择器上。实际使用时,可以...

    mysql自动停止 Plugin FEDERATED is disabled 的完美解决方法

    解决方法之一是在MySQL的配置文件中明确启用FEDERATED引擎。在`[mysqld]`部分添加一行`plugin=federated`,确保引擎被加载。但在这个案例中,作者尝试了这种方法并没有解决问题。 另一种解决策略是检查日志文件,...

    html form表单input使用disabled后提交不能获取表单值的解决方法

    form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考下面两个方法: 方法一: 使用readonly带替代disabled,即把 disabled="disabled" 修改为 readonly="readonly" 二者区别: ...

    HTML中Select不用Disabled实现ReadOnly的效果

    方法如下: 代码如下:<select onbeforeactivate=”return false” onfocus=”this.blur()” onmouseover=”this.setCapture()” onmouseout=”this.releaseCapture()”> <option>1</option> </...

    Ant design vue 的组件禁用属性 disabled.pdf

    在Ant Design Vue这一流行的前端UI库中,`disabled`属性是一个关键特性,它允许开发者禁用用户对特定组件的操作,从而实现对用户交互的控制。禁用状态通常用于表示组件处于不可操作或非活动状态,这在许多场景下都是...

    IE无法查看源文件原因及解决办法

    ### IE无法查看源文件原因及解决办法 #### 一、问题背景 在使用Internet Explorer(以下简称IE)浏览器的过程中,有时用户会遇到一个令人头疼的问题——无法查看网页源代码。这通常发生在试图通过“查看源文件”...

Global site tag (gtag.js) - Google Analytics