全てチェックするチェックボックス
全ての項目をチェックするチェックボックスです。
チェックが1つでも外れたら、全てチェックするチェックボックスもチェックが外れます。
See the Pen 全てチェックするチェックボックス by nekuta (@nekuta) on CodePen.
チェックした時に全ての項目をチェックする
$('.all-ck input[type="checkbox"]').on('click', function() {
var tgt = $(this).parent().next().find('input[type="checkbox"]');
tgt.prop('checked', this.checked);
});
.all-ckのinputをクリックした時に.ck-list以下のinputをチェックします。
parent()は親要素、next()はその要素の兄弟要素を見に行く。
チェックが1つでも外れたら、全てチェックするチェックボックスもチェックを外す
var ckBox = $('.ck-list input[type="checkbox"]');
ckBox.on('click', function() {
var ckThisCk = $(this).parent().parent().find('input[type="checkbox"]:checked');
var ckThisDef = $(this).parent().parent().find('input[type="checkbox"]');
var allCk = $(this).parent().parent().prev().find('input[type="checkbox"]');
if ($(ckThisCk).length == $(ckThisDef).length) {
allCk.prop('checked', 'checked');
} else {
allCk.prop('checked', false);
}
});
.ck-list以下のinputがクリックされた時、.ck-list以下のinputの個数と、checked状態の個数を見て、個数が同じならall-ckのinputにチェックを入れ、異なる場合はチェックを外す。