$input.disabled = true;
or
$input.disabled = "disabled";
哪一种是标准方式?相反,如何启用禁用的输入?
$input.disabled = true;
or
$input.disabled = "disabled";
哪一种是标准方式?相反,如何启用禁用的输入?
当前回答
如果您只想反转当前状态(如切换按钮行为):
$("input").prop('disabled', ! $("input").prop('disabled') );
其他回答
// 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);
在jQuery Mobile中:
用于禁用
$('#someselectElement').selectmenu().selectmenu('disable').selectmenu('refresh', true);
$('#someTextElement').textinput().textinput('disable');
用于启用
$('#someselectElement').selectmenu().selectmenu('enable').selectmenu('refresh', true);
$('#someTextElement').textinput('enable');
只是为了新的惯例,并使其适应未来(除非ECMA6(????)发生了巨大变化):
$(document).on('event_name', '#your_id', function() {
$(this).removeAttr('disabled');
});
and
$(document).off('event_name', '#your_id', function() {
$(this).attr('disabled','disabled');
});
有许多方法可以使用它们来启用/禁用任何元素:
方法1
$("#txtName").attr("disabled", true);
方法2
$("#txtName").attr("disabled", "disabled");
如果使用jQuery 1.7或更高版本,请使用prop(),而不是attr()。
$("#txtName").prop("disabled", "disabled");
如果您希望启用任何元素,则只需执行与禁用该元素相反的操作即可。然而,jQuery提供了另一种删除任何属性的方法。
方法1
$("#txtName").attr("disabled", false);
方法2
$("#txtName").attr("disabled", "");
方法3
$("#txtName").removeAttr("disabled");
同样,如果使用jQuery 1.7或更高版本,请使用prop(),而不是attr()。这就是使用jQuery启用或禁用任何元素的方式。