<body>
<table>
<thead>
<tr>
<th><input type="checkbox" id="qx"> 手机</th>
</tr>
</thead>
<tbody id="dx">
<tr>
<td><input type="checkbox">苹果8</td>
</tr>
<tr>
<td><input type="checkbox">苹果9</td>
</tr>
<tr>
<td><input type="checkbox">苹果10</td>
</tr>
</tbody>
</table>
<script>
//获取事件 需要用到全选按钮和单选按钮
var qx = document.getElementById('qx');
var dx = document.getElementById('dx').querySelectorAll('input');
//注册事件 点击全选框 ,单选框全部勾起来
qx.onclick = function () {
for (i = 0; i < dx.length; i++) {
dx[i].checked = this.checked;
}
}
//单选按钮
//遍历所有单项按钮加上判断
for (var i = 0; i < dx.length; i++) {
dx[i].onclick = function () {//点击任意单选按钮后
var flag = true;//flag用于全选按钮值
for (i = 0; i < dx.length; i++) {//遍历所有的单选按钮判断它处于是否全部处于选择状态
if (!dx[i].checked) {//如果任意一个checked值不处于全选状态
flag = false;//那么将假值赋给flag
break;//只要flag变假值后,就没有循环的必要了
}
}
qx.checked = flag;/* 遍历判断结束后,将值给qx按钮,如果上
面判断有一个假值,那么全选按钮就取消全选. */
}
}
</script>
</body>