原生js实现文本框全选
1、获取对应节点(全选框与子复选框)
2、为全选框添加点击事件,决定子复选框的选中状态
j_cbAll.onclick = function () {
for (var i = 0; i < j_tb.length; i++) {
j_tb[i].checked = j_cbAll.checked
}
}
3、 接下来循环每一个子复选框,给下面所有复选框绑定点击事件,每次点击,都要循环查看下面所有的复选框是否有没选中的,如果有一个没选中的, 上面全选就不选中
//循环为每一个子复选框添加点击事件,每次点击,都要循环查看下面所有的复选框是否有没选中的,如果有一个没选中的, 上面全选就不选中。
for (var i = 0; i < j_tb.length; i++) {
j_tb[i].onclick = function () {
var flag = true
//注意不能在此,打印每个子复选框的状态console.log(j_tb[i].checked);
因为此处j_tb[i]为undefine,此处访问不到i
//每次点击一下,都要判断复选框有无被选中的
for (var i = 0; i < j_tb.length; i++) {
if (j_tb[i].checked == false) {
//如果有没被选中的,则把flag为flase,再break跳出循环
flag = false
break
}
}
//如果没有,则把全选框状态为true
j_cbAll.checked = flag
}
}