<form id="target">
....
</form>
答案 0 :(得分:253)
在旧版本中,您可以使用attr
。从jQuery 1.6开始,您应该使用prop
代替:
$("#target :input").prop("disabled", true);
禁用'target'中的所有表单元素。见:input
:
匹配所有输入,textarea,select和按钮元素。
如果您只想要<input>
元素:
$("#target input").prop("disabled", true);
答案 1 :(得分:37)
以上示例在技术上是不正确的。根据最新的jQuery,使用prop()
方法应该用于禁用等事情。 See their API page.
要禁用'target'中的所有表单元素,请使用:input选择器匹配所有input,textarea,select和button元素。
$("#target :input").prop("disabled", true);
如果您只想要这些元素,请使用它。
$("#target input").prop("disabled", true);
答案 2 :(得分:14)
更简洁的方法是使用他们的选择器引擎。 因此,要禁用div或表单父级中的所有表单元素。
$myForm.find(':input:not(:disabled)').prop('disabled',true)
答案 3 :(得分:8)
要禁用所有表单,只需写入:
jQuery 1.6 +
$("#form :input").prop("disabled", true);
jQuery 1.5及以下
$("#form :input").attr('disabled','disabled');
答案 4 :(得分:8)
你可以添加
<fieldset class="fieldset">
然后你可以打电话
$('.fieldset').prop('disabled', true);
答案 5 :(得分:4)
通过这一行,您可以禁用表单中的任何输入字段
$('form *').prop('disabled', true);
答案 6 :(得分:1)
您可以这样做:
//HTML BUTTON
<button type="button" onclick="disableAll()">Disable</button>
//Jquery function
function disableAll() {
//DISABLE ALL FIELDS THAT ARE NOT DISABLED
$('form').find(':input:not(:disabled)').prop('disabled', true);
//ENABLE ALL FIELDS THAT DISABLED
//$('form').find(':input(:disabled)').prop('disabled', false);
}
答案 7 :(得分:-1)