如何使用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的变化)