博主信息
博文 45
粉丝 0
评论 1
访问量 40676
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
购物车逐个删除与全选删除
源逸
原创
1226人浏览过

1.获取基本元素

2.给全选的复选框添加input事件,判断当前的checked状态,为true,循环遍历商品的复选框,为false反而则之

3.对全部删除按钮添加click事件,判断是否需要删除,true则把tbody清空,把复选框状态与删除按钮还原

4.逐条删除:对商品中的单个删除按钮循环遍历,添加click事件删除

QQ图片20190528034949.png

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全选删除与单个删除(使用事件监听函数,把页面的结构分离,保持对html结构的精简)2019.05.13实例</title>
    <style>
        /*表格与单元素添加边框*/
        table, th, td {
            border: 1px solid black;
        }
        /*设置表格样式, 折叠边框线并设置宽度*/
        table {
            border-collapse: collapse;
            width: 600px;
        }

        /*设置标题行背景*/
        table thead tr:first-of-type {
            background-color: lightblue;
        }

        /*选择每一行的第一列*/
        table tr td:first-of-type {
            text-align: center;
        }
    </style>
</head>
<body>
<div>
<table name="care">
    <caption>购物车</caption>
    <thead>
    <tr>
        <th style="width: 30px;"><input type="checkbox" id="all"></th>
        <th>商品</th>
        <th>操作</th>
    </tr>
    </thead>


    <tbody>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>华为HUAWEI MateBook 14 全面屏轻薄性能笔记本电脑</td>
        <td><button>编辑</button> <button name="delOne" >删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>联想(Lenovo)拯救者Y7000英特尔酷睿i5 15.6英寸游戏笔记本电脑</td>
        <td><button>编辑</button> <button name="delOne" >删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>小米 (MI)Ruby 2019款 15.6英寸金属轻薄笔记本电脑</td>
        <td><button>编辑</button> <button name="delOne" >删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>Apple Macbook Pro 13.3[带触控栏]深空灰 </td>
        <td><button>编辑</button> <button name="delOne" >删除</button></td>
    </tr>
    </tbody>
</table>

<button id="del-all" disabled>全部删除</button>
</div>

<script>
    //全选按钮
    var all = document.getElementById('all');

    //商品复选框
    var checkboxes = document.getElementsByName('user-select');

    //全选删除按钮
    var delBut = document.getElementById('del-all');

    //全选复选框:input事件
    all.addEventListener('input',eleAll,false);

    function eleAll() {
       if(this.checked === true){
           Object.keys(checkboxes).forEach(function (key) {
               checkboxes[key].checked = true;
           });
           delBut.disabled = false;
       } else {
           Object.keys(checkboxes).forEach(function (key) {
               checkboxes[key].checked = false;
           });
           delBut.disabled = true;
       }
    }

    //全选删除按钮事件:click
    delBut.addEventListener('click',delAll,false);

    function delAll() {
        if(confirm('是否删除')){
            var tbody = document.getElementsByTagName('table')[0].tBodies[0];
            tbody.innerHTML = '';
            delBut.disabled = true;
            all.checked = false;
            all.disabled = true;

            var p = document.createElement('p');
            p.style.color = 'red';
            p.innerText = '这也太穷了吧,买点东西吧!';
            document.body.appendChild(p);
        }
    }


    //单个删除

    //click
    Object.keys(delOne).forEach(function (key) {
        delOne[key].addEventListener('click',function () {
            return confirm('是否删除') ? this.parentElement.parentElement.remove() : false;
        },false);
    });



</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学