• JS——全选与反选


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>全选反选</title>
    </head>
    <body>
        
        <input type="button" value="全选" id="all">
        <input type="button" value="反选" id="reverse">
        <input type="checkbox" id="flagCheck">
        <ul id="checkboxList">
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
            <li><input type="checkbox"></li>
        </ul>
        <p>
            布尔属性,只要name即可,值可为空
            checked,selected,readonly,disabled....
        </p>
        <script type="text/javascript">
        //1.找节点
        var allBtn = document.querySelectorAll("#all")[0];
        var reverseBtn = document.querySelector("#reverse");
        var flagCheck = document.getElementById("flagCheck");
        var checkList = document.querySelectorAll("#checkboxList input");
        function checkAll() {
            for(var j = 0; j < checkList.length; j++) {
                if(!checkList[j].checked) {
                    break;
                }
            }
            if(j == checkList.length) {
                // alert("全部为真")
                flagCheck.checked = true;
            }else {
                // alert("至少一个不为真");
                flagCheck.checked = false;
            }
        }
        //2.加事件
        //全选
        allBtn.onclick = function() {
            if(flagCheck.checked) {
                flagCheck.checked = false;
                for(var i = 0; i < checkList.length; i++) {
                    checkList[i].checked = false;
                }
            }else {
                flagCheck.checked = true;
                for(var i = 0; i < checkList.length; i++) {
                    checkList[i].checked = true;
                }
            }
            
        }
        //反选
        reverseBtn.onclick = function() {
            for(var i = 0; i < checkList.length; i++) {
                if(checkList[i].checked) {
                    checkList[i].checked = false;
                }else {
                    checkList[i].checked = true;
                }
            }
            //执行检查所有checkList是否被选上了
            checkAll();
        }
    
        for(var i = 0; i < checkList.length; i++) {
            checkList[i].onclick = checkAll;
        }
        </script>
    </body>
    </html>

    效果图如下

    上传这个是为了到某一天要用时忘记了也能找到笔记回忆起来(*^__^*) 嘻嘻!

  • 相关阅读:
    【FIRST USE】第一次用git把代码上传到github
    [多线程学习笔记] 一个线程安全的队列
    C中宏展开问题
    C语言中的命名空间
    c语言中赋值语句的结果
    Python一些难以察觉的错误
    C语言中的内存压缩技术
    简述数据结构:二叉查找树
    指针与指针的引用、指针的指针
    C++ 中的virtual关键词
  • 原文地址:https://www.cnblogs.com/Gog2016/p/5479649.html
Copyright © 2020-2023  润新知