Revision: 59811
Updated Code
at October 3, 2012 03:51 by ReedD19
Updated Code
var lastChecked = null; var handleChecked = function(e) { if(lastChecked && e.shiftKey) { var i = $('input[type="checkbox"]').index(lastChecked); var j = $('input[type="checkbox"]').index(e.target); var checkboxes = []; if (j > i) { checkboxes = $('input[type="checkbox"]:gt('+ (i-1) +'):lt('+ (j-i) +')'); } else { checkboxes = $('input[type="checkbox"]:gt('+ j +'):lt('+ (i-j) +')'); } if (!$(e.target).is(':checked')) { $(checkboxes).removeAttr('checked'); } else { $(checkboxes).attr('checked', 'checked'); } } lastChecked = e.target; // Other click action code. } $('input[type=checkbox]').click(handleChecked);
Revision: 59810
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 3, 2012 03:48 by ReedD19
Initial Code
var handleChecked = function(e) { if(e.shiftKey) { var i = $('input[type="checkbox"]').index(lastChecked); var j = $('input[type="checkbox"]').index(e.target); var checkboxes = []; if (j > i) { checkboxes = $('input[type="checkbox"]:gt('+ (i-1) +'):lt('+ (j-i) +')'); } else { checkboxes = $('input[type="checkbox"]:gt('+ j +'):lt('+ (i-j) +')'); } if (!$(e.target).is(':checked')) { $(checkboxes).removeAttr('checked'); } else { $(checkboxes).attr('checked', 'checked'); } } lastChecked = e.target; } $('input[type=checkbox]').click(handleChecked);
Initial URL
Initial Description
Allows you to click a given checkbox X, then shift click another checkbox Y. All checkboxes between X and Y will be checked or unchecked based on the state of checkbox Y. i.e. if you're unchecking Y all boxes between X and Y will also be unchecked.
Initial Title
Shift+Click to Select/Deselect Checkboxes.
Initial Tags
form, jquery
Initial Language
JavaScript