Rotate value of checkboxes
by secretgspot
HTML
<input type="checkbox" name="checkbox" value="" id="checkbox">
<input type="checkbox" name="checkbox2" value="" id="checkbox2">
JavaScript
// Rotate value of checkboxes from unchecked, to indeterminate, to checked.
var $check = $("input[type=checkbox]"), el;
$check
.data('checked',0)
.click(function(e) {
el = $(this);
switch(el.data('checked')) {
// unchecked, going indeterminate
case 0:
el.data('checked',1);
el.prop('indeterminate',true);
break;
// indeterminate, going checked
case 1:
el.data('checked',2);
el.prop('indeterminate',false);
el.prop('checked',true);
break;
// checked, going unchecked
default:
el.data('checked',0);
el.prop('indeterminate',false);
el.prop('checked',false);
}
});