Javascript 按Cntrl&x2B选择多个复选框;点击
我有一个表单,它有许多复选框元素排成一行。我想实现一个功能,允许用户持有Cntrl,然后选择一个复选框,并让每个框: A)如果没有选中初始框,则变为选中状态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
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;
});
})
学分: