用JavaScript代码实现一组checkbox,前面加一个全选框,要求实现: 点击全选,下面的全部选择,再点击,全部取消; 当下面的元素全部选中时,全选自动亮起,当有一个元素取消勾选,全选自动取消;
时间: 2024-03-17 17:40:51 浏览: 51
CheckBox为CheckBoxList实现全选或全取消选择(js代码实现)
可以使用如下的JavaScript代码来实现上述要求:
```html
<!-- HTML代码 -->
<input type="checkbox" id="check-all">全选
<input type="checkbox" class="check-item">选项1
<input type="checkbox" class="check-item">选项2
<input type="checkbox" class="check-item">选项3
```
```javascript
// JavaScript代码
var checkAll = document.getElementById("check-all");
var checkItems = document.getElementsByClassName("check-item");
// 全选按钮的点击事件
checkAll.onclick = function() {
for (var i = 0; i < checkItems.length; i++) {
checkItems[i].checked = checkAll.checked;
}
};
// 每个选项的点击事件
for (var i = 0; i < checkItems.length; i++) {
checkItems[i].onclick = function() {
var checkedCount = 0;
for (var j = 0; j < checkItems.length; j++) {
if (checkItems[j].checked) {
checkedCount++;
}
}
checkAll.checked = checkedCount == checkItems.length;
};
}
```
解释一下上面的代码:
1. 给全选按钮和每个选项添加了对应的id和class。
2. checkAll和checkItems分别引用全选按钮和每个选项的DOM对象。
3. 全选按钮的点击事件中,循环遍历每个选项,将它们的checked属性设置为全选按钮的checked属性,以实现全选/全不选的功能。
4. 每个选项的点击事件中,遍历所有选项,计算当前选中的选项数,当选中的选项数等于总选项数时,全选按钮的checked属性设为true,否则设为false。
这样就可以实现全选功能了,并且当所有选项都被选中时,全选按钮自动亮起,当有一个选项被取消勾选时,全选按钮自动取消。
阅读全文