1 Star 0 Fork 0

luenay/js_study

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
全选练习.html 5.80 KB
一键复制 编辑 原始数据 按行查看 历史
luenay 提交于 2022-04-22 01:31 . addfiles
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="post" action="">
你喜欢的运动是?<input type="checkbox" id="checkedAllBox">全选/全不选
<br>
<input type="checkbox" name="items" value="足球">足球
<input type="checkbox" name="items" value="篮球">篮球
<input type="checkbox" name="items" value="羽毛球">羽毛球
<input type="checkbox" name="items" value="乒乓球">乒乓球
<br>
<input type="button" id="checkedAllBtn" value="全选">全选
<input type="button" id="checkedNoBtn" value="全不选">全不选
<input type="button" id="checkedRevBtn" value="反选">反选
<input type="button" id="sendBtn" value="提交">提 交
</form>
</body>
<script>
window.onload = function () {
//1.#checkedAllBtn 全选
// 全选按钮,点击四个多选框之后全部选中
//为id为checkedAllBtn的按钮绑定单击响应函数
var checkedAllBtn = document.getElementById("checkedAllBtn");
checkedAllBtn.onclick = function () {
// 获取四个多选卡u那个items
var items = document.getElementsByName("items");
// 遍历items
for (var i = 0; i < items.length; i++) {
// 设置四个多选框变成选中状态
// 通过多选框的checked属性可以来获取或设置多选框的选中状态
items[i].checked = true;
}
checkedAllBox.checked = true;
}
// -----------------------------------------------------------------------------
//2.#checkedNoBtn 全不选
var checkedNoBtn = document.getElementById("checkedNoBtn");
checkedNoBtn.onclick = function () {
// 获取四个多选卡u那个items
var items = document.getElementsByName("items");
// 遍历items
for (var i = 0; i < items.length; i++) {
// 设置四个多选框变成选中状态
// 通过多选框的checked属性可以来获取或设置多选框的选中状态
items[i].checked = false;
}
checkedAllBox.checked = false;
}
// ------------------------------------------------------------------------------
//3.#checkedRevBtn 反选
var checkedRevBtn = document.getElementById("checkedRevBtn");
checkedRevBtn.onclick = function () {
var items = document.getElementsByName("items");
for (var i = 0; i < items.length; i++) {
// if (items[i].checked == true)
// items[i].checked = false;
// else
// items[i].checked = true;
items[i].checked = !items[i].checked; // 和上面if else语句的效果一样,但是更简单
//在反选时也需要判断4个多选框是否全都选中
// 将checkedAllBox默认设为选中状态
checkedAllBox.checked = true;
for (var j = 0; j < items.length; j++) {
// 只要有一个没选中,就不是全选
if (items[j].checked == false) {
//一旦进入判断,则不是全选
checkedAllBox.checked = false;
//一旦进入判断,就不用再循环了,直接跳出
break;
}
}
}
}
// ------------------------------------------------------------------------------
//4.#sendBtn 提 交
// 选中之后弹出的事value属性值
var sendBtn = document.getElementById("sendBtn");
sendBtn.onclick = function () {
var items = document.getElementsByName("items");
for (var i = 0; i < items.length; i++) {
// 判断多选框是否选中
if (items[i].checked)
alert(items[i].value);
}
}
// ------------------------------------------------------------------------------
//5.#checkedAllBox 全选/全不选
// 当它选中时,其余的也选中,当它取消时,其余的也取消
// 在事件响应函数中,响应函数是给谁绑定的,this就是谁
var checkedAllBox = document.getElementById("checkedAllBox");
checkedAllBox.onclick = function () {
var items = document.getElementsByName("items");
// 设置多选框的选中状态
for (var i = 0; i < items.length; i++) {
// items[i].checked = !items[i].checked;
items[i].checked = this.checked; // 和上面的效果一样
}
}
// ------------------------------------------------------------------------------
//6.#items
// 如果四个多选框全部手动选中,则全选/全不选框也应该选中,反之应该不选中
// 为四个多选框分别绑定单击响应函数
var items = document.getElementsByName("items");
for (var i = 0; i < items.length; i++) {
items[i].onclick = function () {
// 将checkedAllBox默认设为选中状态
checkedAllBox.checked = true;
for (var j = 0; j < items.length; j++) {
// 只要有一个没选中,就不是全选
if (items[j].checked == false) {
//一旦进入判断,则不是全选
checkedAllBox.checked = false;
//一旦进入判断,就不用再循环了,直接跳出
break;
}
}
}
}
};
</script>
</html>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/luenay/js_study.git
git@gitee.com:luenay/js_study.git
luenay
js_study
js_study
master

搜索帮助