如何使用jQuery禁用表单中的所有<input>?
<form id="target"> .... </form>
在旧版本中,您可以使用attr
。 从jQuery 1.6开始,你应该使用prop
代替:
$("#target :input").prop("disabled", true);
禁用“目标”内的所有表单元素。 请参阅:input
:
匹配所有input,textarea,select和button元素。
如果你只想要<input>
元素:
$("#target input").prop("disabled", true);
以上例子在技术上是不正确的。 根据最新的jQuery,使用prop()
方法应该用于像禁用的东西。 查看他们的API页面。
要禁用“目标”内的所有表单元素,请使用:inputselect器,它匹配所有input,textarea,select和button元素。
$("#target :input").prop("disabled", true);
如果你只是想要的元素,使用这个。
$("#target input").prop("disabled", true);
另外更简洁的方法是使用它们的select器引擎。 所以要禁用div或表单父项中的所有表单元素。
$myForm.find(':input:not(:disabled)').prop('disabled',true)
你可以加
<fieldset class="fieldset">
然后你可以打电话
$('.fieldset').prop('disabled', true);
要禁用所有表单,就像写入一样简单:
jQuery 1.6+
$("#form :input").prop("disabled", true);
jQuery 1.5及以下
$("#form :input").attr('disabled','disabled');
Gnarf给出了明确的答案(涵盖1.6版jQuery api的变化)