• jQuery 作业三个按钮




    作业三个按钮

    <!--声明 文档-->
    <!DOCTYPE html>
    <!--定义字符集-->
    <html lang="zh-CN">
    <head>
        <!--定义编码格式-->
        <meta charset="UTF-8">
       <!--如果网页打不开设置显示内容,并跳转链接-->
        <meta http-equiv="x-ua-compatible" content="IE=edge">
        <!--设置标题-->
        <title>就三个按钮的作业讲解</title>
         <!--为了确保适当的绘制和触屏缩放,需要在head标签中添加viewport"元素数据标签-->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!--设置风格-->
        <style>
            
            /*隐藏的样式类,默认不显示*/
            .hide {
                display: none;
            }
    
            /*遮罩层,隐藏的,位置固定,顶部,右边左边,下边,透明度,垂直高度*/
            .cover {
                position: fixed;
                top: 0;
                right: 0;
                left: 0;
                bottom: 0;
                background-color: black;
                opacity: 0.8;
                z-index: 999;
            }
            /*形式的,位置固定,顶部,左边,高度,宽度,外边距顶部,外边距左边 ,背景颜色,垂直高度*/
            .modal {
                position: fixed;
                top: 50%;
                left: 50%;
                height: 200px;
                width: 400px;
                margin-top: -100px;
                margin-left: -200px;
                background-color: white;
                z-index: 1000;
            }
        </style>
    </head>
    <body>
    
    <!--新增按钮-->
    <button id="add">新增</button>
    
    <!--表格-->
    <table border="1">
        <!--表头-->
        <thead>
        <tr>
            <!--表头数据-->
            <th>#</th>
            <th>姓名</th>
            <th>爱好</th>
            <th>操作</th>
        </tr>
        </thead>
        <!--表主内容-->
        <tbody>
        <tr>
            <!--表内容的数据-->
            <td>1</td>
            <td>Egon</td>
            <td>街舞</td>
            <td>
                <!--设置编辑按钮和删除按钮-->
                <button class="edit-btn">编辑</button>
                <button class="delete-btn">删除</button>
            </td>
        </tr>
        <tr>
            <!--表内容的数据-->
            <td>2</td>
            <td>Alex</td>
            <td>烫头</td>
            <td>
                <!--设置编辑按钮和删除按钮-->
                <button class="edit-btn">编辑</button>
                <button class="delete-btn">删除</button>
            </td>
        </tr>
        <tr>
            <!--表内容的数据-->
            <td>3</td>
            <td>苑局</td>
            <td>日天</td>
            <td>
                <!--设置编辑按钮和删除按钮-->
                <button class="edit-btn">编辑</button>
                <button class="delete-btn">删除</button>
            </td>
        </tr>
        </tbody>
    </table>
    
    <!--div模块-->
    <div id="myCover" class="cover hide"></div>
    <!--内部div模块-->
    <div id="myModal" class="modal hide">
        <div>
            <p>
                <!--使input标签不变黄-->
                <label for="modal-name">姓名</label>
                <input type="text" id="modal-name">
            </p>
            <p>
                <!--使input标签不变黄-->
                <label for="modal-hobby">爱好</label>
                <input type="text" id="modal-hobby">
            </p>
            <p>
                <!--提交和取消按钮-->
                <button id="modal-submit">提交</button>
                <button id="modal-cancel">取消</button>
            </p>
        </div>
    </div>
    
    
    <!--引入jquery-3.3.1.js-->
    <script src="jquery-3.3.1.js"></script>
    <script>
    
        // 弹出模态框的函数
        function showModal() {
            // 把模态框显示出来
            $("#myCover, #myModal").removeClass("hide");
        }
    
        // 隐藏模态框的函数
        function hideModal() {
            // 把模态框隐藏起来
            $("#myCover, #myModal").addClass("hide");
            // 清空模态框中input标签的值
            $("#modal-name, #modal-hobby").val("");
        }
    
        // 新增按钮绑定事件
        $("#add").on("click", function () {
            showModal();
        });
    
        // 给模态框中的取消按钮绑定事件
        $("#modal-cancel").on("click", function () {
            hideModal();
        });
    var $table = $("table");
        // 表格中每一行的删除按钮,绑定事件
        $table.on("click", ".delete-btn", function () {
            // 更新表格中当前行后面每一行的序号
            // 找到当前行后面的每一行
            $(this).parent().parent().nextAll().each(function () {
                // each中的this和外面的this不一样了!
                var num = $(this).children().first().text();
                $(this).children().first().text(num-1);
            });
            // 找到当前行,删除
            $(this).parent().parent().remove();
        });
    
    // 编辑按钮绑定事件
        $table.on("click", ".edit-btn", function () {
            // 显示模态框
            showModal();
            // 把原来的内容填充到模态框中
            // 取到当前编辑的这一行
            var $currentTr = $(this).parent().parent();
            // 将当前编辑行保存到模态框对象中
            $("#myModal").data("key", $currentTr);
            // 1. 取值
            var name = $currentTr.children().eq(1).text();
            var hobby = $currentTr.children().eq(2).text();
            // 填充到模态框
            $("#modal-name").val(name);
            $("#modal-hobby").val(hobby);
        });
    
        // 点击模态框中的提交按钮
        $("#modal-submit").on("click", function () {
             // 获取模态框中input的值
            var name = $("#modal-name").val();
            var hobby = $("#modal-hobby").val();
    
            // 如何区分是编辑还是新增
            var $tr = $("#myModal").data("key");
    
            if ($tr !== undefined){  // 可以简写,这里是为了引出来好理解
                // 是编辑操作
                $tr.children().eq(1).text(name);
                $tr.children().eq(2).text(hobby);
                // 编辑完之后要把之前保存的data删掉
                $("#myModal").removeData("key");
            }else {
                // 就是新增操作
                // 创建一个新的tr标签
                var newTr = document.createElement("tr");
                // 塞td标签
                var num = $("table tr").length;
                var eleStr = "<td>" + num + "</td>";
                eleStr += "<td>" + name + "</td>";
                eleStr += "<td>" + hobby + "</td>";
                eleStr += "<td>" + '<button class="edit-btn">编辑</button> <button class="delete-btn">删除</button>' + "</td>";
                newTr.innerHTML = eleStr;
                // 将新创建的tr标签追加到table里
                $("tbody").append(newTr);
            }
            // 隐藏模态框
            hideModal();
        })
    </script>
    </body>
    </html>


  • 相关阅读:
    xcode5.1上真机调试报告No architectures to compile for...的解决办法
    Altium Designer元件库--多单元元器件的制作
    COMS门电路的设计及其优化--以异或门为例
    从器件物理层面看MOSFET的内部结构
    VHDL与Verilog硬件描述语言TestBench的编写
    C语言求解Excel地址转换问题
    数字黑洞求解问题
    计算机显示电池出现问题
    Charles安装
    滑动窗口1——无重复字符的最长字串
  • 原文地址:https://www.cnblogs.com/chongdongxiaoyu/p/8930848.html
Copyright © 2020-2023  润新知