$(this).closest("fieldset").find("input:not(:checkbox), select,textarea").attr('disabled', this.checked);
用这个我可以禁用输入,选择,textarea如何处理按钮?
感谢
答案 0 :(得分:2)
您的代码适合我:
尝试一下: http://jsfiddle.net/JzKdx/2/ (已更新)
你有一些具体问题吗?
HTML (已更新以包含提交按钮)
<fieldset>
<input type='checkbox' /> Click me
<br><br>
<input type='text' />
<select>
<option>one</option>
</select>
<textarea>
sometext
</textarea>
<input type='submit' />
</fieldset>
的jQuery
$(':checkbox').change(function() {
$(this).closest("fieldset")
.find("input:not(:checkbox), select,textarea")
.attr('disabled', this.checked);
});
答案 1 :(得分:1)
不完全 - 只要存在disabled属性,控件就会被禁用。要重新启用该控件,您必须删除disabled属性。像这样:
var element = $(this).closest("fieldset").find("input:not(:checkbox), select,textarea");
if (this.checked) {
element.attr('disabled', 'disabled');
} else {
element.removeAttr('disabled');
}
答案 2 :(得分:0)
试试此代码
$(this).closest("fieldset").find("input:not(:checkbox), select,textarea,button").attr('disabled', this.checked);