我有幾個複選框,其中一些複選框已在頁面加載時進行檢查。選中限制複選框,包含在頁面加載時檢查的框
我想要做的是禁用其他複選框,如果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