チェックされていないものがある場合、すべてのチェックボックスをチェックすることになっている関数があります。それらがすべてチェックされている場合は、それらすべてのチェックを外します。
check all
リンクを3回クリックするまで、期待どおりに機能します。
- 最初のクリックでそれらすべてをチェックします
- 2回目のクリックで、すべてのチェックを外します
- 3回目のクリックですべてをもう一度確認することになっていますが、確認しません
function CheckAll(name) {
name = name.replace(/[[]/g, '\\[').replace(/]/g, '\\]');
if ($('input[name=' + name + ']:checkbox:not(:checked)').length) {
$('input[name=' + name + ']:checkbox:not(:checked)').attr('checked', true);
} else {
$('input[name=' + name + ']:checkbox:checked').attr('checked', false);
}
}
シンプルなHTML
<a href="#" onclick="CheckAll('users[]')">Check All</a><br/><br/>
<input type="checkbox" name="users[]" checked="checked"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>
<input type="checkbox" name="users[]"/><br/>