前端之 JS 實現全選、反選、取消選中


需求

  • 制作如下可選表格,實現“全選”、“反選”、“取消”功能

代碼示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <!--告訴IE以最高級模式渲染文檔-->
    <meta http-equiv="x-ua-compatible" content="IE=edge">
    <title>作業分解</title>
    <script>
        function checkAll() {
            //全選,找到所有的checkbox,全部選中
            var checkboxEles = document.getElementsByClassName("c1");
            for (var i=0;i<checkboxEles.length;i++){
                checkboxEles[i].checked=true;
            }
        }
        function reverse() {
            //反選--找標簽,判斷
            //1.找標簽(和上面一樣)
            var checkboxEles = document.getElementsByClassName('c1');
            //2.判斷每個選框checkboxEles[i].checked 屬性是true還是false
            //如果是true改為false;如果是false改為true

//            for循環+if判斷 實現反選
//            for (var i=0;i<checkboxEles.length;i++){
//                    if (checkboxEles[i].checked=true){
//                        checkboxEles[i].checked=false;
//                    }else {
//                        checkboxEles[i].checked=true;
//                    }
//            }


//            取反,實現反選
            for (var i=0;i<checkboxEles.length;i++){
                checkboxEles[i].checked=!checkboxEles[i].checked;
            }
        }

        function cancleAll() {
            //取消選中
            var checkboxEles = document.getElementsByClassName("c1");
            for (var i=0;i<checkboxEles.length;i++){
                checkboxEles[i].checked=false;
            }
        }
    </script>
</head>
<body>

<table border="1">
    <thead>
    <tr>
        <th>#</th>
        <th>技師姓名</th>
        <th>出生年份</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td><input class="c1" type="checkbox"></td>
        <td>張三</td>
        <td>10年</td>
    </tr>
    <tr>
        <td><input class="c1" type="checkbox"></td>
        <td>李四</td>
        <td>98年</td>
    </tr>
    <tr>
        <td><input class="c1" type="checkbox"></td>
        <td>王五</td>
        <td>99年</td>
    </tr>
    <tr>
        <td><input class="c1" type="checkbox"></td>
        <td>趙六</td>
        <td>97年</td>
    </tr>
    </tbody>
</table>

<br>
<input type="button" value="全選" onclick="checkAll()">
<input type="button" value="反選" onclick="reverse()">
<input type="button" value="取消" onclick="cancleAll()">
</body>
</html>
代碼示例

“反選”測試

 

“全選”測試

 

“取消”測試

 

 


 

 

此種實現方法為 JS ;

亦可用 jQuery 實現,更加簡潔高效。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM