我有此复选框列表
就像使用“ Ctrl”按钮选择文件一样,我想举个例子,当我按下“ Ctrl”按钮选中第一个复选框,然后选中第二个复选框并且始终按下“ Ctrl”时,这些复选框之间的其他复选框将被自动检查
经过多次搜索,我发现我应该使用“ ng-keyup”方法
您能知道我该怎么做吗?
感谢帮助
最佳答案
您可以做的是跟踪所有输入和最后单击的输入。
然后在下一次单击上检查是否按下了Shift键,然后将输入之间的所有标记都标记为已选中。
// last input checked index variable, initialize with null
var lastChecked = null
//keep all inputs saved
var inputs = document.querySelectorAll("input")
// on each click check if shift is pressed
function handleClick(e, index){
if(e.shiftKey){
markSelected(lastChecked, index)
}
}
这是Codepen上的示例,该示例负责标记两种方式(从开始到结束以及相反)并处理最后选择的输入的簿记
Codepen example