jquery1.10.1で checkboxを選択すると、他のチェックボックスを全選択させようとした。
そして無駄にハマったのでメモ
<input type="checkbox" id="check-all">
<input type="checkbox" value="1" name="a" class="bar">
<input type="checkbox" value="2" name="b" class="bar">
<input type="checkbox" value="3" name="c" class="bar">
誤
$('#check-all').on('click', function() {
$('input.bar:checkbox').attr('checked', $(this).is(':checked'));
});
正
$('#check-all').on('click', function() {
$('input.bar:checkbox').prop('checked', $(this).is(':checked'));
});
誤のほうだと、2回目までは問題ないが、3回目からは、checked=checked
が付与されるのに
画面上はチェックが入らない現象になった。