Het enige wat ik nog wil toevoegen is dat het precies hetzelfde gaat werken als ik op de tekst klik. Ik heb dit al geprobeerd (https://stackoverflow.com/questions/9092197/check-box-checked-when-click-in-associated-label) met labels, maar ik krijg het maar niet voor elkaar om dat goed werkend te krijgen, ook in combinatie met de werking van de 'Select All'. Ik heb mijn eigen probeersels om dat te integreren er voor het gemak maar uitgelaten.
Hopelijk kunnen jullie me hiermee verder helpen.
<!DOCTYPE html>
<html>
<head>
<script src='//ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js'></script>
<script>
$(document).ready(function(){
$('.checkAll').click(function() {
console.log(1);
var checkboxes = $(this).closest('.checkboxes').find(':checkbox');
checkboxes.prop('checked', $(this).is(':checked'));
});
$(document).on('change', 'input[type=checkbox]', function() {
console.log(2);
var boxesChecked = $(this).closest('.checkboxes').find('input:checked').length;;
var boxesTotal = $(this).closest('.checkboxes').find('input').length;;
var boxesMinus = boxesTotal - 1;
if(boxesMinus == boxesChecked) {
var checkAll = $(this).closest('.checkboxes').find('.checkAll');
checkAll.prop('checked', $(this).is(':checked'));
}
});
});
</script>
</head>
<body>
<div class='checkboxes'>
<input type='checkbox' class='checkAll' checked> Select all<br>
<input type='checkbox' checked> A1
<input type='checkbox' checked> B2
<input type='checkbox' checked> C3
<input type='checkbox' checked> D4
<input type='checkbox' checked> E5
<input type='checkbox' checked> F6
<input type='checkbox' checked> G7
<input type='checkbox' checked> H8
</div>
<br><br>
<div class='checkboxes'>
<input type='checkbox' class='checkAll' checked> Select all<br>
<input type='checkbox' checked> Q1
<input type='checkbox' checked> Q2
<input type='checkbox' checked> Q3
</div>
</body>
</html>