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

文件为一张网页界面截图的文字描述,包含复选框、全选/取消/反选/提交按钮及“控制台”、“源代码”、“Live reload enabled.”等开发环境信息。 结合你的问题“JS 实现全选取消反选”,判断需求为:使用JavaScript实现该页面的全选取消、反选功能。 --- ### 题目重述 请使用JavaScript实现一个兴趣选择页面的功能,包括“全选”、“取消”、“反选”三个按钮,分别实现全部选中、全部取消、状态反转的操作。 --- ### 给出答案(答案为带注释的代码块) ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <title>全选取消反选</title> </head> <body> <p>请选择你的爱好:</p> <input type="checkbox" id="乒乓球" /><label>乒乓球</label><br /> <input type="checkbox" id="篮球" /><label>篮球</label><br /> <input type="checkbox" id="羽毛球" /><label>羽毛球</label><br /> <input type="checkbox" id="足球" /><label>足球</label><br /> <button onclick="selectAll()">全选</button> <button onclick="deselectAll()">取消</button> <button onclick="toggleSelect()">反选</button> <script> // 全选:所有复选框设为选中 function selectAll() { document.querySelectorAll('input[type=checkbox]').forEach(cb => cb.checked = true); } // 取消:所有复选框设为未选中 function deselectAll() { document.querySelectorAll('input[type=checkbox]').forEach(cb => cb.checked = false); } // 反选:将每个复选框的状态取反 function toggleSelect() { document.querySelectorAll('input[type=checkbox]').forEach(cb => cb.checked = !cb.checked); } </script> </body> </html> ``` --- ### 代码解析 1. 页面结构由四个`<input type="checkbox">`构成,用于表示可选的兴趣项目; 2. 三个按钮通过`onclick`属性绑定对应的JavaScript函数; 3. `selectAll()`函数获取所有复选框并设置其`checked = true`; 4. `deselectAll()`设置所有`checked = false`; 5. `toggleSelect()`利用`!cb.checked`实现状态翻转; 6. 核心API为`document.querySelectorAll`,返回节点列表后使用`forEach`遍历操作。 --- ### 知识点(列出该代码中遇到的知识点) - **DOM元素选择**:`document.querySelectorAll`可根据CSS选择器获取多个元素,返回类数组对象。 - **事件绑定机制**:通过HTML属性`onclick`调用JS函数,实现用户交互响应。 - **表单控件状态操作**:通过修改`checked`属性控制复选框的选中与反选状态。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值