Hi,
This script works only once. I don’t know why?
I’ve added the script like so:
view/index.php:
<?
$this->registerJsFile(’/js/shiftselect.js’, [‘depends’ => [\yii\web\JqueryAsset::className()]], View::POS_END, ‘my-options1’);
?>
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 = null;
e.shiftKey = null;
}
lastChecked = e.target;
//lastChecked = null;
// Other click action code.
}
$('input[type=checkbox]').click(handleChecked);
I’ve tried other scripts:
http://nylen.github.io/shiftcheckbox/
But they don’t work at all for me…
I don’t know why either…