• 前端:全选全消的两种类型


    在前端网页制作中,全选全消是常用的一种类型,在这里,我就给大家分享一下俩中类型方法:
    第一种:复选框控制全选全消
    这种方法经常在淘宝天猫等购物网页中见到,效果为:一点击全选复选框,他下面的子复选框就会全部选中,再次点击,就会取消,而子复选框全部点击后,全选复选框也会被选中
    HTML代码图片
    (https://img2020.cnblogs.com/blog/2197210/202012/2197210-20201227172244629-1894808837.png)

    JS代码:
    var selectAll = document.getElementById("selectAll");
    var aas = document.getElementsByName("aa");

        selectAll.onclick = function() {
            if (selectAll.checked) {
                for (var i = 0; i < aas.length; i++) {
                    aas[i].checked = true;
                }
            } else {
                for (var i = 0; i < aas.length; i++) {
                    aas[i].checked = false;
                }
            }
        }
    
        function aa() {
            var times = 0;
            for (var i = 0; i < aas.length; i++) {
                if (aas[i].checked) {
                    times++;
                }
            }
            if (times == aas.length) {
                /* status=true; 是给status赋值,并没有改变标签*/
                selectAll.checked = true;
            } else {
                selectAll.checked = false;
            }
            //如果有一个没有选,全选框也不选
            if (times == 0) {
                selectAll.checked = false;
            }
        }
    

    第二种类型:通过按钮控制复选框的状态:
    这种类似是很简单的,效果为:点击全选按钮,所有的复选框就会全部选中,点击全不选按钮,所有的复选框就会全部取消。
    不过我在此基础上添加了一个反选按钮,虽然网页制作不常用到这个功能,但感兴趣的小伙伴们可以学习一下。
    HTML代码图片
    (https://img2020.cnblogs.com/blog/2197210/202012/2197210-20201227172434930-842655470.png)

    JS部分:
    var selectAll = document.getElementById("selectAll");
    var selectNode = document.getElementById("selectNode");
    var invert = document.getElementById("invert");

        var aas = document.getElementsByName("aa");
    
        selectAll.onclick = function() {
            for (var i = 0; i < aas.length; i++) {
                if (aas[i] = "checkbox") {
                    aas[i].checked = true;
                }
            }
        }
    
        selectNode.onclick = function() {
            for (var i = 0; i < aas.length; i++) {
                if (aas[i] = "checkbox") {
                    aas[i].checked = false;
                }
            }
        }
    
        invert.onclick = function() {
            for (var i = 0; i < aas.length; i++) {
                if (aas[i].checked == true) {
                    aas[i].checked = false;
                } else {
                    aas[i].checked = true;
                }
            }
        }
    

    以上就是我对复选框的两种类型的总结,有不对的地方,欢迎指出,如果有收获,也麻烦点击支持一下!

  • 相关阅读:
    3--Selenium环境准备--Eclipse 引入 selenium-server包
    2--Selenium环境准备--第一次使用Testng
    1--Selenium环境准备--Eclipse 添加Testng插件
    2--Jmeter 4.0--Excel 数据驱动 接口测试
    1--Jmeter4.0连接Oracle数据库
    冲刺第六天
    构建执法阅读笔记5
    学习进度八
    冲刺第五天
    冲刺第四天
  • 原文地址:https://www.cnblogs.com/s272/p/14197907.html
Copyright © 2020-2023  润新知