• DOM操作案例之--全选与反选


    全选与反选在表单类的项目中还是很常见的,电商项目中的购物车一定少不了这个功能。

    下面我只就用一个简单的案例做个演示吧。

    <div class="wrap">
        <table>
            <thead>
            <tr>
                <th>
                    <input type="checkbox" id="j_cbAll"/>
                </th>
                <th>商品</th>
                <th>价格</th>
            </tr>
            </thead>
            <tbody id="j_tb">
            <tr>
                <td>
                    <input type="checkbox"/>
                </td>
                <td>小米手机</td>
                <td>2000</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox"/>
                </td>
                <td>ThinkPad</td>
                <td>5000</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox"/>
                </td>
                <td>iPhone7</td>
                <td>5000</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox"/>
                </td>
                <td>iPhoneX</td>
                <td>9000</td>
            </tr>
            </tbody>
        </table>

    上面是是HTML部分代码,做了一个表格。

    下面是css代码:

    <style>
            * {
                padding: 0;
                margin: 0;
            }
    
            .wrap {
                width: 300px;
                margin: 100px auto 0;
            }
    
            table {
                border-collapse: collapse;
                border-spacing: 0;
                border: 1px solid #c0c0c0;
                width: 300px;
            }
    
            th,
            td {
                border: 1px solid #d0d0d0;
                color: #404060;
                padding: 10px;
            }
    
            th {
                background-color: #09c;
                font: bold 16px "微软雅黑";
                color: #fff;
            }
    
            td {
                font: 14px "微软雅黑";
            }
    
            tbody tr {
                background-color: #f0f0f0;
            }
    
            tbody tr:hover {
                cursor: pointer;
                background-color: #fafafa;
            }
        </style>

    下面是js代码,实现全选反选功能。

    <script>
        var all = document.getElementById("j_cbAll");
        var tbody = document.getElementById("j_tb");
        var checkboxes = tbody.getElementsByTagName("input");//下面的单选框
        //点击all 让下面的的选中状态和all一致
        all.onclick = function () {
            for (var i = 0; i < checkboxes.length; i++) {
                checkboxes[i].checked = all.checked;
            }
        };
    
        //让下面的影响上面
        //点击每一个都判断 如果每一个都选中了 all就选中 否则不选中
        for (var i = 0; i < checkboxes.length; i++) {
            checkboxes[i].onclick = function () {
                var isCheckedAll = true;
                for (var i = 0; i < checkboxes.length; i++) {
                    if (!checkboxes[i].checked) {
                        isCheckedAll = false;
                        break;
                    }
                }
                all.checked = isCheckedAll;
            };
        }
    
    
    </script>
    

      

    上面就是这个案例的效果了。

    当然,这个还可以扩展一下,做成一个购物车的案例。

  • 相关阅读:
    总结一下最近用过的phpcms语法
    phpcms和php格式化时间戳
    为什么使用bootstrap在一个页面同时做两个轮播效果时,只有第一个有效??
    Jquery右击显示菜单事件,运用smartMenu插件。
    流程管理
    权限管理
    文件管理的练习(目录文件的打开,双击返回上一层目录、双击打开子目录文件)
    php部分--文件操作
    php部分--头像上传预览
    PHP部分--图片上传服务器、图片路径存入数据库,并读取
  • 原文地址:https://www.cnblogs.com/thinkguo/p/8022173.html
Copyright © 2020-2023  润新知