<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<input type="checkbox" name="city" value="北京">北京
<input type="checkbox" name="city" value="天津" checked>天津
<button id="btn1">查看</button>
<input type="checkbox" id="control">
<script>
//所有的复选框
const list = document.getElementsByName("city")
//为所有的复选框添加事件
Array.from(list).forEach(item=>{
item.addEventListener('change',()=>{
let type = 0
Array.from(list).forEach(item=>{
if(item.checked){
type += 1
}else{
type -= 1
}
})
if(type == list.length){
document.getElementById("control").checked = true
}else{
document.getElementById("control").checked = false
}
},false)
})
//查看所有复选框的状态
document.getElementById("btn1").addEventListener('click',function(){
Array.from(list).forEach(item=>{
console.log(item.checked)
})
},false)
//全选与非全选
document.getElementById("control").onchange = function(){
if(this.checked){
Array.from(list).forEach(item=>{
item.checked = true
})
}else{
Array.from(list).forEach(item=>{
item.checked = false
})
}
}
</script>
</body>
</html>
原生复选框全选与取消的实现
最新推荐文章于 2024-05-21 18:30:03 发布
本文介绍了一种使用JavaScript实现复选框状态同步的方法,通过监听每个复选框的更改事件,更新控制复选框的状态,同时提供了一个按钮用于查看所有复选框的状态。
1416

被折叠的 条评论
为什么被折叠?



