我有几个复选框,其中一些复选框已在页面加载时进行检查。选中限制复选框,包含在页面加载时检查的框
我想要做的是禁用其他复选框,如果2框被选中。
我的代码工作正常,如果我检查/取消选中框自己。但是当2个盒子在页面加载时已经被检查(使用javascript或者HTML)时,其他盒子仍然可以被检查直到盒子被禁用。
由于已在页面加载中检查了2个框,因此应取消选中其他复选框,直到取消选中其中一个复选框。目前情况并非如此。
这是我的javascript:
jQuery(function($) {
var max = 2;
var checkboxes = $('input[type="checkbox"]');
checkboxes.change(function(){
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
});
$('.one').attr('checked','checked');
$('.two').attr('checked','checked');
});
肚里我下面的复选框:
<div id="checkboxes">
<input type="checkbox" class="1" id="checkbox" name='Some[array]' value="1">
<input type="checkbox" class="2" id="checkbox" name='Some[array]' value="2">
<input type="checkbox" class="3" id="checkbox" name='Some[array]' value="3">
<input type="checkbox" class="4" id="checkbox" name='Some[array]' value="4">
</div>
是的,这是一个比我的绝对更好的解决方案。 – Ohgodwhy 2014-08-29 16:45:51
完美,谢谢! – Dean 2014-08-29 17:11:58