码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-12-11 14:31:13      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:分享   log   ima   inter   logs   html   htm   css   iphone   

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

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

<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>

  技术分享图片

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

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

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

标签:分享   log   ima   inter   logs   html   htm   css   iphone   

原文地址:http://www.cnblogs.com/thinkguo/p/8022173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!