前端之 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