创建个人爱好复选框,(音乐、登山、游泳、阅读、打球、跑步),点击全选则全部选中,全部选则全部取消用js方法
时间: 2023-06-14 10:07:11 浏览: 48
可以使用以下的 HTML 和 JavaScript 代码来实现:
```html
<label>
<input type="checkbox" id="selectAll">
全选
</label>
<br>
<label>
<input type="checkbox" name="hobbies" value="music">
音乐
</label>
<label>
<input type="checkbox" name="hobbies" value="hiking">
登山
</label>
<label>
<input type="checkbox" name="hobbies" value="swimming">
游泳
</label>
<label>
<input type="checkbox" name="hobbies" value="reading">
阅读
</label>
<label>
<input type="checkbox" name="hobbies" value="sports">
打球
</label>
<label>
<input type="checkbox" name="hobbies" value="running">
跑步
</label>
```
```javascript
// 获取全选框和所有爱好复选框
const selectAll = document.getElementById('selectAll');
const checkboxes = document.querySelectorAll('input[name="hobbies"]');
// 点击全选框时,将所有爱好复选框的选中状态设为与全选框相同
selectAll.addEventListener('click', () => {
checkboxes.forEach(checkbox => {
checkbox.checked = selectAll.checked;
});
});
// 监听所有爱好复选框的点击事件,如果有一个未选中,则取消全选框的选中状态
checkboxes.forEach(checkbox => {
checkbox.addEventListener('click', () => {
if (!checkbox.checked) {
selectAll.checked = false;
}
});
});
```
上述代码中,首先通过 `document.getElementById` 和 `document.querySelectorAll` 方法获取全选框和所有爱好复选框。然后,使用 `addEventListener` 方法监听全选框的点击事件,当全选框被点击时,遍历所有爱好复选框,将它们的选中状态设为与全选框相同。接着,使用 `forEach` 方法监听所有爱好复选框的点击事件,当有一个爱好复选框未被选中时,取消全选框的选中状态。