我對我的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/
使用'.prop()',而不是'.AT TR()'。 – David