JavaScript练习—全选

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全选练习</title> <script type="text/javascript "> window.onload = function(){ // 获取四个多选框items var items = document.getElementsByName("items"); // 为id为checkedAllBox的按钮绑定一个单击响应函数 var checkedAllBox = document.getElementById("checkedAllBox"); /* 全选按钮 点击按钮后,四个多选框全都被选中 */ //1. #checkedAllBtn //为id为checkedAllBtn的按钮绑定一个单击响应函数 var checkedAllBtn = document.getElementById("checkedAllBtn"); checkedAllBtn.onclick = function(){ // alert("全都选中了~~~"); // 遍历items for(var i=0 ; i<items.length ; i++) { // 通过多选框的checked属性可以来获取或设置多选框的选中状态 // alert(items[i].checked); // 设置四个多选框变成选中状态 items[i].checked = true; } // 将全选/全不选设置为选中 checkedAllBox.checked = true; }; /* 全不选按钮 点击按钮后,四个多选框全变成没选中的状态 */ //2. #checkedNoBtn // 为id为checkedNoBtn的按钮绑定一个单击响应函数 var checkedNoBtn = document.getElementById("checkedNoBtn"); checkedNoBtn.onclick = function(){ for(var i=0 ; i<items.length ; i++){ // 设置四个多选框变成不选中状态 items[i].checked = false; } // 将全选/全不选设置为不选中 checkedAllBox.checked = false; }; /* 反选按钮 点击按钮后,选中的变成没选中,没选中的变成选中 */ //3. #checkedRevBtn // 为id为checkedRevBtn的按钮绑定一个单击响应函数 var checkedRevBtn = document.getElementById("checkedRevBtn"); checkedRevBtn.onclick = function(){ for(var i=0 ; i<items.length ; i++){ // // 判断多选框状态 // if(items[i].checked){ // // 设置四个多选框变成不选中状态 // items[i].checked = false; // }else{ // // 设置四个多选框变成选中状态 // items[i].checked = true; // } // } items[i].checked = !items[i].checked; checkedAllBox.checked = true; if(!items[i].checked){ checkedAllBox.checked = false; } } // 在反选时,也要判断四个多选框是否全部选中 } /* 提交按钮 点击按钮后,将所有选中的多选框的value属性值弹出 */ //4. #sendBtn // 为id为sendBtn的按钮绑定一个单击响应函数 var sendBtn = document.getElementById("sendBtn"); sendBtn.onclick = function(){ for(var i=0 ; i<items.length ; i++){ // 判断多选框是否选中 if(items[i].checked){ alert(items[i].value); } } } //5. #checkedAllBox /* 全选/全不选多选框 当它选中时其余的也选中,当它取消时其余的也取消 在事件的相应函数中,响应函数是给谁绑定的,this就是谁的 */ checkedAllBox.onclick = function(){ for(var i=0 ; i<items.length ; i++){ items[i].checked = this.checked; } } //6. items /* 如果四个多选框全都选中,则checkAllBox也应该选中 如果四个多选框没都选中,则checkAllBox也不应该选中 */ // 为四个多选框分别绑定点击响应函数 for(var i=0 ; i<items.length ; i++){ items[i].onclick = function(){ // 将checkedAllBox设置为选中状态 checkedAllBox.checked = true; for(var j=0 ; j<items.length ; j++){ // 判断四个多选框是否全选 // 只要有一个没选中则就不是全选 if(!items[j].checked){ // 一旦进入判断,则证明不是全选状态 // 将checkedAllBox设置为没选中状态 checkedAllBox.checked = false; break; } } } } } </script> </head> <body> <form method="post" action=""> 你爱好的运动是? <input type="checkbox" id="checkedAllBox" />全选/全不选 <br /> <input type="checkbox" name="items" value="足球" />足球 <input type="checkbox" name="items" value="篮球" />篮球 <input type="checkbox" name="items" value="羽毛球" />羽毛球 <input type="checkbox" name="items" value="乒乓球" />乒乓球 <br /> <input type="button" id="checkedAllBtn" value="全 选" /> <input type="button" id="checkedNoBtn" value="全不选" /> <input type="button" id="checkedRevBtn" value="反 选" /> <input type="button" id="sendBtn" value="提 交" /> </form> </body> </html>
转载请注明出处:https://www.cnblogs.com/stu-jyj3621

浙公网安备 33010602011771号