我有一个表格,每行都有一个复选框和一个按钮。如果至少一个复选框被选中,我希望禁用该按钮。
<tbody>
<tr>
<td>
<input class="myCheckBox" type="checkbox"></input>
</td>
</tr>
</tbody>
<button type=submit id="confirmButton"> BUTTON </button>
我想用下面的jQuery实现这个功能:
$('tbody').click(function () {
$('tbody tr').each(function () {
if ($(this).find('.myCheckBox').prop('checked')) {
doEnableButton = true;
}
if (!doEnableButton) {
$('#confirmButton').prop('disabled', 'disabled')
}
else {
$('#confirmButton').removeAttr("disabled");
}
});
});
当然,这并不起作用。否则我就不会在这里了。它只响应最低的复选框(例如,当最低的按钮被选中/取消选中时,按钮将启用/禁用)。
我在JSFiddle上制作了一个演示,尽管它的行为与本地不同。
有人知道如何使它响应所有复选框,并在它们全部都被禁用时禁用该按钮吗?
.prop
和.attr
。只需使用$('#confirmButton').prop('disabled', !doEnableButton)
。 - Felix Klingprop
中的第二个参数是什么(在您的情况下为!doEnableButton
)? - user2609980.disabled
属性可以有两个值,true
或false
。 http://api.jquery.com/prop/ - Felix Kling