全选和取消全选,以及单选控制全选
html部分
<table border="1">
<thead>
<tr>
<th>
<label> //这里使用label是因为这样就可以点击全选这个字还是选择框都可以实现选择
<input type="checkbox" >全选
</label>
</th>
<th>会员名</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox">
</td>
<td>孙悟空</td>
</tr>
<tr>
<td>
<input type="checkbox">
</td>
<td>猪八戒</td>
</tr>
<tr>
<td>
<input type="checkbox">
</td>
<td>沙悟净</td>
</tr>
<tr>
<td>
<input type="checkbox">
</td>
<td>唐僧</td>
</tr>
</tbody>
</table>
js部分
首先是全选功能和取消全选
let checkAll = document.querySelector("thead th input"); //获取全选框这个按钮
let checkVal = document.querySelectorAll("tbody td input"); //获取每一个单选框的操作,最终的得到的是一个数组
checkAll.onclick = function () { //点击全选按钮的时候
for (let i = 0; i < checkVal.length; i++) { //遍历这个数组
if (checkAll.checked === true) { //做判断,如果全选框的checked值为true
checkVal[i].checked = true; //那么tboy里面的选择框的checked值就也为true,实现全选
} else {
checkVal[i].checked = false; //否则只要全选框的checked值为false,那么下面的所有checked值也就为false,实现取消全选
}
}
};
//点击tbody里面的input选择框控制全选
遍历每一个tbody里面的input选择框的状态
for (let j = 0; j < checkVal.length; j++) {
checkVal[j].onclick = function () { //当tbody里面的某一个input选择点击时
var flag = true; //定一个标杆,默认对的值给他true, 默认选中
for (let a = 0; a < checkVal.length; a++) { //遍历tbody里面的每一个input选择框
if (checkVal[a].checked === false) { //判断遍历到的某一个选择框的checked值如果为false
flag = false; //就把flag的值改为false则全选框的状态就为false,不选中
}
}
checkAll.checked = flag; //全选框的checked值就是flag的值
}
}
以上就是通过js写全选以及取消全选的功能,!!!!
喜欢的就点赞一下呀,如果有什么更简单的方法或这有什么错误,记得要给我指出来哦,大家一起学习