zoukankan      html  css  js  c++  java
  • 前端:全选全消的两种类型

    在前端网页制作中,全选全消是常用的一种类型,在这里,我就给大家分享一下俩中类型方法:
    第一种:复选框控制全选全消
    这种方法经常在淘宝天猫等购物网页中见到,效果为:一点击全选复选框,他下面的子复选框就会全部选中,再次点击,就会取消,而子复选框全部点击后,全选复选框也会被选中
    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;
                }
            }
        }
    

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

  • 相关阅读:
    【CodeForces】835D Palindromic characteristics
    【BZOJ】2006: [NOI2010]超级钢琴
    【比赛】STSRM 09
    【比赛】洛谷夏令营NOIP模拟赛
    【BZOJ】4147: [AMPPZ2014]Euclidean Nim
    【BZOJ】3895: 取石子
    【胡策08】解题报告
    【codevs】3196 黄金宝藏
    【BZOJ】1443: [JSOI2009]游戏Game
    【BZOJ】3105: [cqoi2013]新Nim游戏
  • 原文地址:https://www.cnblogs.com/s272/p/14197907.html
Copyright © 2011-2022 走看看