<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="checkbox" id="all">全选<br>
<div>
<input type="checkbox" class="checkes"> 手机<br>
<input type="checkbox" class="checkes"> 电脑<br>
<input type="checkbox" class="checkes"> 平板<br>
<input type="checkbox" class="checkes"> MP4<br>
</div>
<script>
/*
* (1)全选与取消全选做法:让所有的复选框的checked属性(选中状态)跟随着全选按钮即可
* (2)下面复选框架需要全部选中,上面的全选才能选中做法:给下面所有的复选框绑定点击事件
* 每次点击,都要循环查看下面所有的复选框是否有没被选中的,只要有一个没被选中,声明 全选就不选中
*
*/
//全选与取消全选:
var all = document.querySelector("#all");
var checks=document.querySelectorAll(".checkes");
//this.checked它可以得到复选框的选中状态,如果是true,就是选中状态,如果是false,就是 未选中
all.onclick=function(){
for(var i=0;i<checks.length;i++){
checks[i].checked=this.checked;
}
}
//下面复选框全部选中,全选框选中
for(var i=0;i<checks.length;i++){
checks[i].onclick=function(){
//flag控制全选按钮是否选中
var flag=true;
//每次点击下面的复选框,都要循环检查这四个复选框有没有全部被选中
for(var j=0;j<checks.length;j++){
if(!checks[j].checked){
flag=false;
break;//退出循环,这样可以提高执行效率,因为只要有一个没被选中,剩下的就无需进行 循环检查了
}
}
all.checked=flag;
}
}
</script>
</body>
</html>