IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> js-全选练习 -> 正文阅读

[JavaScript知识库]js-全选练习

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">

        window.onload = function () {
            //获取四个多选框items
            var items = document.getElementsByName("items")
            /*
            * 全选按钮,点击按钮以后,四个多选框全都被选中
            * */
            //1.#checkedAllBtn
            //为id为checkedAllBtn的按钮绑定一个单击响应函数
            var checkedAllBtn = document.getElementById("checkedAllBtn");
            checkedAllBtn.onclick = function () {
                //遍历items
                for (var i = 0; i < items.length; i++) {
                    //设置四个多选框编程选中状态
                    //通过多选框的checked属性可以来获取或设置多选框的选中状态
                    // alert(items[i].checked);

                    items[i].checked = true;
                }
                checkedAllBox.checked = true;
            };
            //2.#checkedNoBtn
            var checkedNoBtn = document.getElementById("checkedNoBtn");
            checkedNoBtn.onclick = function () {
                //遍历items
                for (var i = 0; i < items.length; i++) {
                    //设置四个多选框编程选中状态
                    //通过多选框的checked属性可以来获取或设置多选框的选中状态
                    // alert(items[i].checked);

                    items[i].checked = false;
                }
                checkedAllBox.checked = false;
            };
            //3.#checkedRevBtn
            var checkedRevBtn = document.getElementById("checkedRevBtn");
            checkedRevBtn.onclick = function () {
                //遍历items
                for (var i = 0; i < items.length; i++) {
                    items[i].checked = !items[i].checked;
                }
                checkedAllBox.checked = true;
                //遍历各个选项的状态
                for (var j = 0; j < items.length; j++) {
                    if (!items[j].checked) {
                        //一旦进入判断,则证明不是全选状态
                        //将checkedALlBox设置为没选中状态
                        checkedAllBox.checked = false;
                    }
                }
            }
            /*
            * 提交按钮:
            *   - 点击按钮以后,将所有选中的多选框的value属性值弹出
            * */
            //4.sendBtn
            var sendBtn = document.getElementById("sendBtn");
            sendBtn.onclick = function () {
                //遍历items
                for (var i = 0; i < items.length; i++) {
                    if (items[i].checked) {
                        alert(items[i].value);
                    }
                }
            }
            /*
            * 在事件的响应函数中,想躺赢函数是给谁绑定的this就是谁
            * */

            //5.#checkedAllBox
            var checkedAllBox = document.getElementById("checkedAllBox");
            checkedAllBox.onclick = function () {

                // alert(this === checkedAllBox)

                //设置多选框的选中状态
                for (var i = 0; i < items.length; i++) {
                    items[i].checked = checkedAllBox.checked;
                }
            }
            //6.#items
            /*
            * 如果四个多选框全都选中,则checkAllBox也应该选中
            * 如果四个多选框没都选中,则checkAllBox应不应该选中
            * */
            //为四个多选框分别绑定响应函数
            for (var i = 0; i < items.length; i++) {
                items[i].onclick = function () {
                    //首先将checkedAllBox设置为true
                    checkedAllBox.checked = true;
                    //遍历各个选项的状态
                    for (var j = 0; j < items.length; j++) {
                        if (!items[j].checked) {
                            //一旦进入判断,则证明不是全选状态
                            //将checkedALlBox设置为没选中状态
                            checkedAllBox.checked = false;
                            break;
                        }
                    }
                }
            }
        }
    </script>
</head>
<body>
<form action="" method="post">
    你爱好的运动是?<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>
</html>

在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-06 13:44:20  更:2022-02-06 13:46:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:23:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码