C12a - Blue Checkbox
by dixalex
JavaScript
//jQuery('.cell-sub-wrapper').css('visibility', 'hidden').css('z-index', '-500');
jQuery('input:checkbox').on('change', function(e) {
jQuery(this).closest('td.clickableCell').each(function(k, v) {
if (jQuery(v).find('.selected').length) {
jQuery(v).css('background-color', '#ACE');
} else {
jQuery(v).css('background-color', '#FFF');
}
});
var el = jQuery(e.target).closest('tr');
var theCheckBox = jQuery(el).find('input:checkbox:last');
var totalCheckBoxes = parseInt(jQuery(el).find('input:checkbox').length, 10);
var nonExclusiveBoxes = parseInt(jQuery(el).find('input:checkbox').not(jQuery(theCheckBox)).length, 10);
var checkedBoxes = parseInt(jQuery(el).find('input:checkbox:checked').not(jQuery(theCheckBox)).length, 10);
if (nonExclusiveBoxes === checkedBoxes) {
jQuery(theCheckBox).closest('td.clickableCell').css('background-color', '#ACE');
} else {
jQuery(theCheckBox).closest('td.clickableCell').css('background-color', '#FFF');
}
});
jQuery('td.clickableCell').each(function(k, v) {
if (jQuery(v).find('.selected').length) {
jQuery(v).css('background-color', '#ACE');
} else {
jQuery(v).css('background-color', '#FFF');
}
});
jQuery('input:checkbox').closest('tr').each(function(i, el) {
jQuery(el).find('input:checkbox:last').closest('td.clickableCell').addClass('exclusiveInverted');
});
jQuery('.exclusiveInverted').each(function(i, el) {
var theCheckBox = jQuery(el).find('input:checkbox');
jQuery(theCheckBox).on('change', function() {
var BoxesnonExclusive = parseInt(jQuery(el).closest('tr').find('input:checkbox').not(jQuery(theCheckBox)).length, 10);
var Boxeschecked = parseInt(jQuery(el).closest('tr').find('input:checkbox:checked').not(jQuery(theCheckBox)).length, 10);
if (BoxesnonExclusive === Boxeschecked) {
//if (jQuery(theCheckBox).is(':checked')) {
...