Jquery 使用 attr() 禁用输入

标签 jquery input attributes

当我尝试使用 attr() 禁用或只读输入字段时,我出现了有线行为。

removeAttr('disabled') 工作正常。

attr('name', 'somthing') 正在运行

attr('id', '其他') 正在工作

attr('disabled','disabled') 不起作用 -> 它只在 DOM 中写入disabled=""并且不会禁用输入字段

attr('readonly','readonly') 不起作用 -> 它只在 DOM 中写入 readonly="",但输入字段仍然可以编辑。

$(document).ready(function() {

    $("input[name='rdio']").live('click', function() {
        $(".radio_select").find("input[name='rdio']").each(function(){
            if(this.checked)
            {
                $("#"+this.value).removeAttr('disabled');        
            }
            else
            {
                $("#"+this.value).attr('disabled','disabled');
            }
        });
    });
});

有人经历过这种行为吗?顺便说一句,我正在使用 jquery 1.4.2

编辑:抱歉,这是我尝试过但忘记把它放回去的东西。因此,使用 attr() 问题仍然存在。

最佳答案

您在哪种浏览器中遇到这种行为会非常有趣。更有趣的是要知道,如果不工作意味着该元素没有被禁用,或者该属性只是缺少disabled作为值。

由于 W3C,不应有 disabledreadonly 值。

从语法上来说

<select disabled></select>

很好而且正确。不需要任何值。

不幸的是,无法使用 javascript 创建这样的构造(如果您不想覆盖 html),因此您被迫添加一些值。由于这两个属性都是 bool 值,因此您几乎可以添加任何内容。 .attr('disabled', 'foobar').attr('disabled', true) 一样好。

关于Jquery 使用 attr() 禁用输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3342031/

相关文章:

javascript - Bootstrap 轮播滑动时为导航栏文本添加运动模糊

javascript - FileZilla/FTP 服务器上的 JSON 文件无法正确读取

javascript - 在 jQuery 效果之前确定元素包装器的最终大小(例如 SlideDown)

html - 不能让一个 div 出现在其他的下面

html - 无法在 IE 中输入文本

c++ - 将自定义属性分组到 Maya 中的节点

Backbone.js save 方法将 PUT/POST 上的一些模型属性删除到服务器

javascript - 将鼠标悬停在具有 id 的 <img> 上时如何按 id 显示 <p>

java - 将整数输入数组时出错?

Angular 5 属性指令不适用于鼠标事件