Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按Cntrl&x2B选择多个复选框;点击_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript 按Cntrl&x2B选择多个复选框;点击

Javascript 按Cntrl&x2B选择多个复选框;点击,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个表单,它有许多复选框元素排成一行。我想实现一个功能,允许用户持有Cntrl,然后选择一个复选框,并让每个框: A)如果没有选中初始框,则变为选中状态 B)从最近的复选框中选中 这可能吗?非常感谢。这会对您有所帮助 该代码用于shift+键 // Usage: $form.find('input[type="checkbox"]').shiftSelectable(); // replace input[type="checkbox"] with the selector to match

我有一个表单,它有许多复选框元素排成一行。我想实现一个功能,允许用户持有Cntrl,然后选择一个复选框,并让每个框:

A)如果没有选中初始框,则变为选中状态
B)从最近的复选框中选中

这可能吗?非常感谢。

这会对您有所帮助

该代码用于
shift+键

// Usage: $form.find('input[type="checkbox"]').shiftSelectable();
// replace input[type="checkbox"] with the selector to match your list of checkboxes

$.fn.shiftSelectable = function() {
var lastChecked,
    $boxes = this;

$boxes.click(function(evt) {
    if(!lastChecked) {
        lastChecked = this;
        return;
    }

    if(evt.shiftKey) {
        var start = $boxes.index(this),
            end = $boxes.index(lastChecked);
        $boxes.slice(Math.min(start, end), Math.max(start, end) + 1)
            .attr('checked', lastChecked.checked)
            .trigger('change');
    }

    lastChecked = this;
});
})

信用证:

这可以帮助你

该代码用于
shift+键

// Usage: $form.find('input[type="checkbox"]').shiftSelectable();
// replace input[type="checkbox"] with the selector to match your list of checkboxes

$.fn.shiftSelectable = function() {
var lastChecked,
    $boxes = this;

$boxes.click(function(evt) {
    if(!lastChecked) {
        lastChecked = this;
        return;
    }

    if(evt.shiftKey) {
        var start = $boxes.index(this),
            end = $boxes.index(lastChecked);
        $boxes.slice(Math.min(start, end), Math.max(start, end) + 1)
            .attr('checked', lastChecked.checked)
            .trigger('change');
    }

    lastChecked = this;
});
})

学分: