博客列表 >购物车的删除与编辑功能2019年05月13日课后作业

购物车的删除与编辑功能2019年05月13日课后作业

布衣大汉的博客
布衣大汉的博客原创
2019年05月25日 09:45:35657浏览

1、购物车的删除与编辑功能


实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>购物车的商品逐条删除功能</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>
<table>
    <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 onclick="edit(this)">编辑</button> <button onclick="del(this)">删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>联想(Lenovo)拯救者Y7000英特尔酷睿i5 15.6英寸游戏笔记本电脑</td>
        <td><button onclick="edit(this)">编辑</button> <button onclick="del(this)">删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>小米 (MI)Ruby 2019款 15.6英寸金属轻薄笔记本电脑</td>
        <td><button onclick="edit(this)">编辑</button> <button onclick="del(this)">删除</button></td>
    </tr>
    <tr>
        <td><input type="checkbox" name="user-select"></td>
        <td>Apple Macbook Pro 13.3[带触控栏]深空灰 </td>
        <td><button onclick="edit(this)">编辑</button> <button onclick="del(this)">删除</button></td>
    </tr>
    </tbody>
</table>

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

<script>
    var tbody = document.getElementsByTagName('table')[0].tBodies[0];

    //删除操作
    function del(ele) {
        if (confirm('是否真的删除?')) {
            tbody.removeChild(ele.parentElement.parentElement);
        }
    }

    // 编辑操作
    function edit(ele) {
        var td = ele.parentElement.previousElementSibling;
        // 获取原始内容
        var oldContent = td.innerHTML;
        // 设置编辑对话框
        var newContent = prompt('请输入新的内容',oldContent);
        // 点击确定
        if (newContent !== null){
            td.innerHTML = newContent;
        } else {
            return false;
        }
    }

    // 全部删除功能
    // 获取元素
    // 全选复选框
    var all = document.getElementById('all');
    // 全部商品列表复选框
    var checkboxes = document.getElementsByName('user-select');
    // 全部删除按钮
    var delBtn = document.getElementById('del-all');

    // 给全选复选框, 通过input事件, 添加全选功能
    all.addEventListener('input', getAll, false);

    // 全选事件的触发函数
    function getAll() {

        // 如果用户点击了全选
        if (all.checked === true) {
            // 获取所有被选中的复选框, 并将其设置为选中状态
            Object.keys(checkboxes).forEach(function (key) {
                checkboxes[key].checked = true;
            });
            // 全部删除按钮有效
            delBtn.disabled = false;

        } else {    // 用户取消了全选
            // 还原所有行的复选框
            Object.keys(checkboxes).forEach(function (key) {
                checkboxes[key].checked = false;
            });
            // 全部删除按钮无效
            delBtn.disabled = true;
        }
    }

    // 全部删除事件
    delBtn.addEventListener('click', delAll, false);

    // 全部删除事件触发函数
    function delAll() {
        if (confirm('是否全部删除?')) {
            // 获取tbody
            var tbody = document.getElementsByTagName('table')[0].tBodies[0];
            // 将tbody 内容置空却可
            tbody.innerHTML = '';
            // 全部删除按钮无效
            delBtn.disabled = true;
            // 全选按钮还原
            all.checked = false;

            // 可选操作, 给用户一个提示,让用户再添加一些商品到购物车,增加成交率
            var p = document.createElement('p');
            p.style.color = 'red';
            p.innerText = '购物车啥也木有了, 赶紧添加一些吧!';
            document.body.appendChild(p);
        }

    }
</script>


</body>
</html>

运行实例 »

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


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议