I'm attempting to create a list of checkboxes with an All and None checkbox at the end.
Upon clicking these checkboxes there's quite a heavy operation so it's vital that the checking and unchecking process doesn't cause a click event on each child checkbox!
Here's my JS:
$(document).ready(function(){
$('#AllCheckbox').click(function(){
$('#NoneCheckbox').removeAttr('checked');
$('.TypeCheckbox').attr('checked', 'checked');
});
$('#NoneCheckbox').click(function(){
$('#AllCheckbox').removeAttr('checked');
$('.TypeCheckbox').removeAttr('checked');
});
$('.TypeCheckbox').click(function(){
alert('Type checkbox was clicked');
$('#AllCheckbox').removeAttr('checked');
$('#NoneCheckbox').removeAttr('checked');
});
});
Here's my html:
<label for="1Checkbox">1</label><input type="checkbox" ID="1Checkbox" class="TypeCheckbox" />
<label for="2Checkbox">2</label><input type="checkbox" ID="2Checkbox" class="TypeCheckbox" />
<label for="3Checkbox">3</label><input type="checkbox" ID="3Checkbox" class="TypeCheckbox" />
<label for="AllCheckbox">All</label><input type="checkbox" ID="AllCheckbox" />
<label for="NoneCheckbox">None</label><input type="checkbox" ID="NoneCheckbox" />
I've created a JSFiddle.
If you click 'All' it works great, all the numbered checkboxes are checked. However click 'None' then 'All' again and the second time the numbered checkboxes are not checked. Why not?