JavaScript学习笔记—全选、取消、反选、提交
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>JS全选、取消、反选、提交</title> <script> window.onload = function(){ // 获取全选按钮 const allBtn = document.getElementById("all"); // 获取全选复选框 const checkAllBox = document.getElementById("check-all"); // 获取取消按钮 const noBtn = document.getElementById("no"); // 获取反选按钮 const reverseBtn = document.getElementById("reverse"); // 获取4个爱好复选框 const hobbies = document.getElementsByName("hobby"); // 为全选按钮绑定单击响应函数 allBtn.onclick = function(){ // 将4个复选框设置为选中状态 for(let i = 0; i < hobbies.length; i++){ hobbies[i].checked = true; } // 将全选复选框设置为选中状态 checkAllBox.checked = true; }; // 为取消按钮绑定单击相应函数 noBtn.onclick = function(){ // 将4个复选框设置为取消状态 for(let i = 0; i < hobbies.length; i++){ hobbies[i].checked = false; } // 将全选复选框设置为取消状态 checkAllBox.checked = false; }; // 为反选按钮绑定单击相应函数 reverseBtn.onclick = function(){ for(let i = 0; i < hobbies.length; i++){ hobbies[i].checked = !hobbies[i].checked; } // 获取所有选中的checkbox const checkedBox = document.querySelectorAll("[name=hobby]:checked"); // 判断hobbies是否全选,如果全选了 全选复选框 设置为选中状态,否则设置为取消状态 if (hobbies.length === checkedBox.length) { checkAllBox.checked = true; } else { checkAllBox.checked = false; } }; // 为全选复选框绑定单击相应函数 checkAllBox.onclick = function(){ for(let i = 0; i < hobbies.length; i++){ // 在事件的响应函数中,响应函数绑定给谁 this就是谁(箭头函数除外) hobbies[i].checked = this.checked; } }; // 使全选checkbox和四个爱好checkbox同步 for(let i = 0; i < hobbies.length; i++){ hobbies[i].onclick = function(){ // 获取所有爱好复选框 选中的checkbox const checkedBoxs = document.querySelectorAll("[name=hobby]:checked"); // 判断hobbies是否全被选中 if(hobbies.length === checkedBoxs.length){ checkAllBox.checked = true; }else{ checkAllBox.checked = false; } }; } // 提交按钮 const sendBtn = document.getElementById("send"); sendBtn.onclick = function(){ for (let i = 0; i < hobbies.length; i++) { hobbies[i].checked && alert(hobbies[i].value); } }; }; </script> </head> <body> <div> <form action="#"> <div> 请选择你的爱好: <input type="checkbox" id="check-all" /> 全选 </div> <div> <input type="checkbox" name="hobby" value="乒乓球" /> 乒乓球 <input type="checkbox" name="hobby" value="篮球" /> 篮球 <input type="checkbox" name="hobby" value="羽毛球" /> 羽毛球 <input type="checkbox" name="hobby" value="足球" /> 足球 </div> <div> <button type="button" id="all">全选</button> <button type="button" id="no">取消</button> <button type="button" id="reverse">反选</button> <button type="button" id="send">提交</button> </div> </form> </div> </body> </html>
分类:
JavaScript
标签:
DOM
, JavaScript学习笔记
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!