diff options
Diffstat (limited to 'resources/jquery/jquery.checkboxShiftClick.js')
-rw-r--r-- | resources/jquery/jquery.checkboxShiftClick.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/resources/jquery/jquery.checkboxShiftClick.js b/resources/jquery/jquery.checkboxShiftClick.js new file mode 100644 index 00000000..b2fcb6ef --- /dev/null +++ b/resources/jquery/jquery.checkboxShiftClick.js @@ -0,0 +1,28 @@ +/** + * jQuery checkboxShiftClick + * + * This will enable checkboxes to be checked or unchecked in a row by clicking one, holding shift and clicking another one + * + * @author Krinkle <krinklemail@gmail.com> + * @license GPL v2 + */ +( function( $ ) { +jQuery.fn.checkboxShiftClick = function( text ) { + var prevCheckbox = null; + var $box = this; + // When our boxes are clicked.. + $box.click(function (e) { + // And one has been clicked before... + if (prevCheckbox !== null && e.shiftKey) { + // Check or uncheck this one and all in-between checkboxes + $box.slice( + Math.min($box.index(prevCheckbox), $box.index(e.target)), + Math.max($box.index(prevCheckbox), $box.index(e.target)) + 1 + ).attr({checked: e.target.checked ? 'checked' : ''}); + } + // Either way, update the prevCheckbox variable to the one clicked now + prevCheckbox = e.target; + }); + return $box; +}; +} )( jQuery );
\ No newline at end of file |