<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>HTML复选框的全选和取消全选</title>
</head>
<body onload="bindClick()">
<script>
// function checkAll() {
// var firstCheck = document.getElementById("firstCheck");
// console.log(firstCheck)
// //获取选中状态
// console.log(firstCheck.checked)
// var aihaos = document.getElementsByName("aihao")
// if (firstCheck.checked) {
// //全选
// for (var i = 0; i < aihaos.length; i++) {
// aihaos[i].checked = true
// }
// } else {
// for (var i = 0; i < aihaos.length; i++) {
// aihaos[i].checked = false
// }
// }
// }
function checkAll() {
var firstCheck = document.getElementById("firstCheck")
var aihaos = document.getElementsByName("aihao")
for (var i = 0; i < aihaos.length; i++) {
aihaos[i].checked = firstCheck.checked
}
}
//页面加载完成之后,为每个name是aihao的checkbox都绑定了点击事件
function bindClick() {
var aihaos = document.getElementsByName("aihao")
console.log(aihaos.length)
for (var i = 0; i < aihaos.length; i++) {
aihaos[i].onclick = function () {//这样就为每个name是aihao的checkbox都绑定了点击事件
var count = aihaos.length
var checkNum = 0
for (var i = 0; i < aihaos.length; i++) {
if (aihaos[i].checked) {
checkNum++;
}
}
if (checkNum == count) {
document.getElementById("firstCheck").checked = true;
} else {
document.getElementById("firstCheck").checked = false;
}
}
}
}
</script>
<input type="checkbox" id="firstCheck" onclick="checkAll()" />全选<br>
<input type="checkbox" name="aihao" value="0" />抽烟<br>
<input type="checkbox" name="aihao" value="1" />喝酒<br>
<input type="checkbox" name="aihao" value="2" />烫头<br>
<input type="checkbox" name="aihao" value="3" />跳舞<br>
<input type="checkbox" name="aihao" value="4" />唱歌<br>
<input type="checkbox" name="aihao" value="5" />睡觉<br>
<input type="checkbox" name="aihao" value="6" />打豆豆<br>
</body>
</html>
复选框全选和取消全选demo
biubiubiu07062024-08-26 12:59
相关推荐
进击的尘埃1 分钟前
组合式函数的设计模式:如何写出真正可复用的 Vue3 ComposablesMoment1 分钟前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍前端Hardy1 分钟前
别再用 $emit 满天飞了!Vue 3 组件通信的 4 种正确姿势,第 3 种 90% 的人不知道古时的风筝4 分钟前
花10 分钟时间,把终端改造成“生产力武器”:Ghostty + Yazi + Lazygit 配置全流程Cache技术分享5 分钟前
340. Java Stream API - 理解并行流的额外开销我叫黑大帅16 分钟前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?smallLabel20 分钟前
记一次 OpenClaw 飞书插件接入填坑指南: Error: spawn EINVALzzjyr22 分钟前
react前端项目 fetch原生 与 umijs request 四种请求区别我叫黑大帅22 分钟前
前端总说的防抖与节流到底是什么?小时前端23 分钟前
微信小程序选不了本地文件?用 web-view + H5 一招搞定