我对我的 jQuery 有一个非常简单的要求:如果选中一个单选按钮,则选中一组框,如果选中另一个,则将它们全部清除。
jquery 工作,但它只工作一次 - 也就是说,如果我单击以检查它们(所有框都选中),然后单击以清除它们(所有框都清除),然后再次单击以检查它们 - 没有效果。同样,如果我手动取消选中某些框,然后单击以再次全选,则没有效果。
jQuery
$('#all').on('change', function() {
if (!$(this).is(':checked')) {
$('.country').attr('checked', false);
} else {
$('.country').attr('checked', true);
}
});
$('#none').on('change', function() {
if (!$(this).is(':checked')) {
$('.country').attr('checked', true);
} else {
$('.country').attr('checked', false);
}
});
HTML
<div class="subselect">
<input type="radio" class="TLO" name="radio1" id="all" />Check All
<br />
<input type="radio" class="TLO" name="radio1" id="none" />Clear All
<br />
</div>
<br />
<br />
<div class="cselect" id="countries">
<input type="checkbox" class="country" />1
<br />
<input type="checkbox" class="country" />2
<br />
<input type="checkbox" class="country" />3
</div>
jsFiddle http://jsfiddle.net/vsGtF/1/