js实现全选,取消全选

​ 全选和取消全选,以及单选控制全选

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写全选以及取消全选的功能,!!!!
喜欢的就点赞一下呀,如果有什么更简单的方法或这有什么错误,记得要给我指出来哦,大家一起学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值