$input.disabled = true;

or

$input.disabled = "disabled";

哪一种是标准方式?相反,如何启用禁用的输入?


当前回答

方法4(这是野生编码器答案的扩展)

txtName.disabled=1//0启用<input id=“txtName”>

其他回答

您可以将其放在代码中的全局位置:

$.prototype.enable = function () {
    $.each(this, function (index, el) {
        $(el).removeAttr('disabled');
    });
}

$.prototype.disable = function () {
    $.each(this, function (index, el) {
        $(el).attr('disabled', 'disabled');
    });
}

然后你可以写一些东西,比如:

$(".myInputs").enable();
$("#otherInput").disable();
// Disable #x
$( "#x" ).prop( "disabled", true );
// Enable #x
$( "#x" ).prop( "disabled", false );

有时您需要禁用/启用表单元素,如input或textarea。Jquery通过将disabled属性设置为“disabled”,帮助您轻松实现这一点。例如:

//To disable 
$('.someElement').attr('disabled', 'disabled');

要启用禁用的元素,您需要从该元素中删除“disabled”属性或清空它的字符串。例如:

//To enable 
$('.someElement').removeAttr('disabled');

// OR you can set attr to "" 
$('.someElement').attr('disabled', '');

参考:http://garmoncheg.blogspot.fr/2011/07/how-to-disableenable-element-with.html

我使用@gnarf答案并将其添加为函数

   $.fn.disabled = function (isDisabled) {
     if (isDisabled) {
       this.attr('disabled', 'disabled');
     } else {
       this.removeAttr('disabled');
     }
   };

然后像这样使用

$('#myElement').disable(true);

对输入类型禁用true:

如果是特定的输入类型(例如文本类型输入)

$("input[type=text]").attr('disabled', true);

对于所有类型的输入类型

$("input").attr('disabled', true);
<html>
<body>

Name: <input type="text" id="myText">



<button onclick="disable()">Disable Text field</button>
<button onclick="enable()">Enable Text field</button>

<script>
function disable() {
    document.getElementById("myText").disabled = true;
}
function enable() {
    document.getElementById("myText").disabled = false;
}
</script>

</body>
</html>