如果至少有一个复选框class='check'
被选中,我怎样才能删除"disabled='disabled'
提交按钮的属性id='bla'
?jQuery:启用提交时,最小1复选框被选中
如果未选中复选框,则禁用的属性应该返回到提交按钮。
如果至少有一个复选框class='check'
被选中,我怎样才能删除"disabled='disabled'
提交按钮的属性id='bla'
?jQuery:启用提交时,最小1复选框被选中
如果未选中复选框,则禁用的属性应该返回到提交按钮。
你只需要检查的检查阵列
$('.check').change(function() {
if ($('.check:checked').length) {
$('#sub').removeAttr('disabled');
} else {
$('#sub').attr('disabled', 'disabled');
}
});
这里的length
属性的演示:http://jsfiddle.net/LUnN5/
获取有关所有复选框的引用,然后在change()
事件中,根据是否选中任何复选框来设置disabled
属性。
var checks = $(':checkbox.check');
checks.change(function() {
$('#bla').attr('disabled', ! checks.filter(':checked').length);
});
$(".check").change(function() {
var btn = $("#bla");
if ($(".check").is(":checked")) {
btn.removeAttr("disabled");
} else {
btn.attr("disabled", "disabled");
}
});
$(".check").triggerHandler("change");
+1(在11小时内,当我的票帽复位)用于获取' :在我想到之前检查过。 – alex 2011-05-01 12:52:51
而不是再次扫描DOM,并使用'$('。check:checked').length'来实例化更多的jQuery对象,您可以简单地测试'this.checked'。 – Jason 2017-01-13 11:39:37
@Jason你需要扫描DOM,因为问题是否检查'任何'复选标记。所以即使被点击的那个没有被选中,也可能有其他的被选中。 – JohnP 2017-01-13 14:15:54