Check if checkbox is NOT checked on click - jQuery
jquery
Solution
Try this:
if(!$(this).is(':checked'))
demo
Problem
I want to check if a checkbox just got unchecked, when a user clicks on it. The reason for this is because i want to do a validation when a user unchecks a checkbox. Because atleast one checkbox needs to be checked. So if he unchecks the last one, then it automatically checks itself again. With jQuery i can easily find out wether it's checked or not: ``` $('#check1').click(function() { if($(this).is(':checked')) alert('checked'); else alert('unchecked'); }); ``` But i actually only want to have an if statement that checks if a checkbox just got unchecked. So i thought i could do that with the following code: ``` $('#check2').click(function() { if($(this).not(':checked')) alert('unchecked'); else alert('checked'); }); ``` But this will always show the 'unchecked' message. Not really what i was expecting... demo: http://jsfiddle.net/tVM5H/ So eventually i need something like: ``` $('#check2').click(function() { if($(this).not(':checked')) { // Got unchecked, so something!!! } }); ``` But obviously this doesn't work. I rather don't want to use the first example, because then i'd have an unnecessary 'else' statement when i only need one 'if' statement. So first thing, is this a jQuery bug? Cause to me it's unexpected behaviour. And second, anyone any ides for a good alternative?