javascript - 如何反转以下表单元素禁用功能的过程

标签 javascript jquery html

我正在尝试实现以下表单功能的反转。这与我想要的功能相反。我希望默认情况下禁用表单元素,然后在按下“点击器”时启用表单元素。我正在尝试以下代码但没有成功。我对 HTML 没有任何问题,我的问题是让脚本按照我想要的方式运行。

示例 HTML 表单元素

<input type='text'></input>
<input type='text'></input>
<input type='text'></input>
<div id='clicker' style='background-color:#FF0000; height:40px; width:100px;'></div>

这是我正在尝试的 JavaScript:

$().ready(function() {

$('#clicker').click(function() {
    $('input').each(function() {
        if ($(this).attr('disabled')) {
            $(this).removeAttr('disabled');
        }
        else {
            $(this).attr({
                'disabled': 'disabled'
            });
        }
      });
   });
});

最佳答案

对于禁用,应使用prop()而不是attr()

您还可以使用 prop(propertyName, fn) 创建循环并隔离实例

$(function () {
    inputs_toggle_disable();//disable on page load, assumes none have disabled in markup
    $('button').click(inputs_toggle_disable);
});

function inputs_toggle_disable() {
    $('input').prop('disabled', function () {
        return !this.disabled
    });
}

DEMO

关于javascript - 如何反转以下表单元素禁用功能的过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30150845/

相关文章:

javascript - 如何使用jquery防止多次输入按键?

html - 从右到左的标点符号不正确,阿拉伯文字换行

javascript - 使用 jQuery 取消 css 属性的导航栏固定顶部

javascript - 页面加载时的插件和 html - 元素遍布各处的瞬间

javascript - 几个选择 : disable/hide/remove selected option in one select

javascript - 重启 css 过渡

javascript - 当达到字符限制时,AngularJS 阻止在文本区域上输入

javascript - 过滤一系列控件并操作它们

javascript - knockout validation - 让输入验证其他字段

javascript - 在 Touchable 高亮部分添加组件