我有几个复选框,其中一些已在页面加载时选中。
我想做的是如果选中了2个框,则禁用其他复选框。
如果我自己选中/取消选中复选框,我的代码可以正常工作。但是,当页面加载时已经选中2个框(使用javascript或HTML)时,仍然可以选中另一个框,直到禁用该框为止。
由于页面加载时已经选中了2个框,因此应禁用其他复选框,直到我取消选中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>
只需.change()
在页面加载时触发事件:
checkboxes.change(function () {
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
}).change();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句