javascript - 通过 Cntrl + 单击选择多个复选框

标签 javascript jquery html checkbox

我有一个表单,其中有许多按行排列的复选框元素。我想实现一个功能,允许用户按住 Cntrl,然后选择一个复选框并让每个框都具有:

A) 如果没有选中初始框,则被选中
B) 从最近的复选框中选中

这可能吗?非常感谢。

最佳答案

这可以帮助你。

该代码用于shift+key

// 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;
});

};

积分:jQuery plugin for shift + click to select multiple checkboxes

关于javascript - 通过 Cntrl + 单击选择多个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37760375/

相关文章:

javascript - D3.js:根据数据设置轴位置

jquery - 为什么我可以在 jQuery 中使用 .hide() 但不能使用 .show()?

javascript - 移动设备的基本 jquery 切换菜单无法正常工作

html - 输入占位符未显示

html - 如何保持 <select> 下拉列表打开以在 firebug 中测试 <option> 上的样式?

JavaScript 运行时错误 : Object doesn't support property or method 'addEventListener

javascript - ejs 模板中的 If-else 简写?

jquery - 为什么函数中的每个表都会给出错误的结果 - jQuery

html - 如何在同一类别的图像之间获得空格?

php - 当变量变为 TRUE 时弹出警报