<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head>
<body> <input type="checkbox">全选 <div class="box"> <input type="checkbox">1 <br> <input type="checkbox">2 <br> <input type="checkbox">3 <br> <input type="checkbox">4 <br> </div> <script> var inp = document.querySelector('input'); var inps = document.querySelector('.box').querySelectorAll('input'); //给全选框添加事件 inp.onclick = function() { //循环4个小复选框,让4个小复选框的checked状态和全选框保持一致 for (var i = 0; i < inps.length; i++) { inps[i].checked = this.checked; } } //给下面的每一个小复选框添加点击事件 for (var i = 0; i < inps.length; i++) { inps[i].onclick = function() { //flag 控制全选按钮是否全部选中 var flag = true; // 判断每个按钮是否被选中 for (var i = 0; i < inps.length; i++) { //存在某个按钮没有被选中的情况,flag=flase;否则flag=true; if (!inps[i].checked) { flag = false; break; } } inp.checked = flag; } } </script> </body>
</html>