console
var oAll = document.getElementsByName('all')[0]
var oHobby = document.getElementsByName('hobby[]')
oAll.onchange = function(){
setAllChecked(oHobby,this.checked)
}
function setAllChecked(items,checked){
for(var i = 0; i < items.length; i++){
items[i].checked = checked
}
}
for(var i = 0; i < oHobby.length; i++){
oHobby[i].onchange = function(){
checkAll()
}
}
function checkAll(){
for(var i = 0; i< oHobby.length; i++){
if(!oHobby[i].checked){
return oAll.checked = false
}
}
oAll.checked = true
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>checkbox全选</title>
</head>
<body>
<div class="wrapper">
<div>请选择爱好:</div>
<input type="checkbox" value="读书" name="hobby[]" checked />读书
<input type="checkbox" value="健身" name="hobby[]" />健身
<input type="checkbox" value="上网" name="hobby[]" />上网
<input type="checkbox" name="all" checked />全选
</div>
</body>
</html>