$input.disabled = true;
或
$input.disabled = "disabled";
哪种标准方法?相反,如何启用禁用的输入呢?
要更改disabled
属性,应使用.prop()
功能。
.prop()
$("input").prop('disabled', true);
$("input").prop('disabled', false);
函数不存在,但是.prop()
的作用类似:
设置禁用的属性。
.attr()
再次启用,正确的方法是使用.attr()
$("input").attr('disabled','disabled');
您总是可以依赖于实际的DOM对象,如果只处理一个元素,它可能会比其他两个选项快一点:
.removeAttr()
使用.removeAttr()
或$("input").removeAttr('disabled');
方法的优点是可以为一堆选定项设置属性。
注意:在1.6中,有一个// assuming an event handler thus 'this'
this.disabled = true;
方法听起来很像.prop()
,但在诸如.attr()
的本机属性上它应该不使用从文档摘录:
注意:请勿使用此方法删除本机属性,例如选中,禁用或选定。这将完全删除该属性,并且一旦删除,就不能再次将其添加到element中。使用.prop()将这些属性设置为false。
实际上,我怀疑此方法有很多合法用途,布尔道具的使用方式应将其设置为false,而不是像1.5中的“属性”对应物那样“删除”它们]
禁用:
对输入类型禁用true:
这对我有用
我使用了@gnarf答案并将其添加为函数
像这样使用,
方法4
$( "#id" ).prop( "disabled", true );
$( "#id" ).prop( "disabled", false );
在jQuery Mobile中:
仅出于新约定的考虑&&使之适应未来(除非ECMA6(????)发生了巨大变化:]
removeAttr()
// Disable #x
$( "#x" ).prop( "disabled", true );
// Enable #x
$( "#x" ).prop( "disabled", false );
您可以将其放在代码的全局位置:
如果只想反转当前状态(如切换按钮行为):
有很多使用它们的方法,您可以启用/禁用任何元素:
2018年更新:
您可以使用jQuery prop()方法来禁用或启用表单元素或使用jQuery动态控制。 prop()方法需要jQuery 1.6及更高版本。