孙肖宁

动态添加和删除表格数据
描述:当用户点击添加数据的时候,弹出一个模态框,其他位置不可点击,点击关闭按钮的时候,关闭模态框。当输入姓名或专业...
扫描右侧二维码阅读全文
12
2018/05

动态添加和删除表格数据

描述:当用户点击添加数据的时候,弹出一个模态框,其他位置不可点击,点击关闭按钮的时候,关闭模态框。当输入姓名或专业之后,点击添加,就会在表格里面添加一行数据,如果内容为空就不可以添加数据,就会弹出输入内容不能为空。当点击删除按钮的时候,则会删除当前行。jquery版本是1.8。
示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>动态添加和删除表格数据</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .wrap {
            width: 410px;
            margin: 100px auto 0;
        }

        table {
            border-collapse: collapse;
            border-spacing: 0;
            border: 1px solid #c0c0c0;
        }

        th,
        td {
            border: 1px solid #d0d0d0;
            color: #404060;
            padding: 10px;
        }

        th {
            background-color: #09c;
            font: bold 16px "微软雅黑";
            color: #fff;
        }

        td {
            font: 14px "微软雅黑";
        }

        td a.get {
            text-decoration: none;
        }

        a.del:hover {
            text-decoration: underline;
        }

        tbody tr {
            background-color: #f0f0f0;
        }

        tbody tr:hover {
            cursor: pointer;
            background-color: #fafafa;
        }

        .btnAdd {
            width: 110px;
            height: 30px;
            font-size: 20px;
            font-weight: bold;
        }

        .form-item {
            height: 100%;
            position: relative;
            padding-left: 100px;
            padding-right: 20px;
            margin-bottom: 34px;
            line-height: 36px;
        }

        .form-item > .lb {
            position: absolute;
            left: 0;
            top: 0;
            display: block;
            width: 100px;
            text-align: right;
        }

        .form-item > .txt {
            width: 300px;
            height: 32px;
        }

        .mask {
            position: absolute;
            top: 0px;
            left: 0px;
            width: 100%;
            height: 100%;
            background: #000;
            opacity: 0.5;
            display: none;
        }

        .form-add {
            position: fixed;
            top: 30%;
            left: 50%;
            margin-left: -197px;
            padding-bottom: 20px;
            background: #fff;
            display: none;
        }

        .form-add-title {
            background-color: #f7f7f7;
            border-width: 1px 1px 0 1px;
            border-bottom: 0;
            margin-bottom: 15px;
            position: relative;
        }

        .form-add-title span {
            width: auto;
            height: 18px;
            font-size: 16px;
            font-family: 宋体;
            font-weight: bold;
            color: rgb(102, 102, 102);
            text-indent: 12px;
            padding: 8px 0px 10px;
            margin-right: 10px;
            display: block;
            overflow: hidden;
            text-align: left;
        }

        .form-add-title div {
            width: 16px;
            height: 20px;
            position: absolute;
            right: 10px;
            top: 6px;
            font-size: 30px;
            line-height: 16px;
            cursor: pointer;
        }

        .form-submit {
            text-align: center;
        }

        .form-submit input {
            width: 170px;
            height: 32px;
        }
    </style>
    <script src="jquery.min.js"></script>
    <script>
        $(function () {
            //点击按钮显示遮罩层和添加数据表格
            $("#j_btnAddData").click(function () {
                $("#j_mask").show();
                $("#j_formAdd").show();
            });
            //点击里面的关闭按钮隐藏遮罩层和添加数据表格
            $("#j_hideFormAdd").click(function () {
                $("#j_mask").hide();
                $("#j_formAdd").hide();
            });
            //点击删除所在的标签,删除所在的tr
            $("a.get").click(function () {
                $(this).parent("td").parent("tr").remove();
            });
            //点击里面的添加内容,全部能容这个成tr嵌套td的形式添加到tbody中
            //点击里面的添加内容,全部能容这个成tr嵌套td的形式添加到tbody中
            $("#j_btnAdd").click(function () {
                if($("#j_txtLesson").val===""){
                    alert("内容不能为空");
                    return;
                }
                var tr = $("<tr></tr>");
                tr.html('<td>'+$("#j_txtLesson").val()+'</td><td>'+$("#j_txtBelSch").val()+'</td><td><a href="javascrip:;" class="get">删除</a></td>');
                $("#j_tb").append(tr);
                //新产生的tr没有时间绑定
                tr.find("a").click(function () {
                    tr.remove();
                });
                $("#j_mask").hide();
                $("#j_formAdd").hide();
                $("#j_txtLesson").val("");
            });

        })

    </script>
</head>
<body>
<div class="wrap">
    <div>
        <input type="button" value="添加数据" id="j_btnAddData" class="btnAdd"/>
    </div>
    <table>
        <thead>
        <tr>
            <th>姓名</th>
            <th>专业</th>
            <th>删除</th>
        </tr>
        </thead>
        <tbody id="j_tb">
        <tr>
            <td>孙肖宁</td>
            <td>软件工程</td>
            <td><a href="javascrip:;" class="get">删除</a></td>
        </tr>
        <tr>
            <td>css</td>
            <td>小宁博客</td>
            <td><a href="javascrip:;" class="get">删除</a></td>
        </tr>
        <tr>
            <td>小宁</td>
            <td>软件工程</td>
            <td><a href="javascrip:;" class="get">删除</a></td>
        </tr>
        <tr>
            <td>小宁论坛</td>
            <td>软件工程</td>
            <td><a href="javascrip:;" class="get">删除</a></td>
        </tr>
        </tbody>
    </table>
</div>
<div id="j_mask" class="mask"></div>
<div id="j_formAdd" class="form-add">
    <div class="form-add-title">
        <span>添加数据</span>
        <div id="j_hideFormAdd">x</div>
    </div>
    <div class="form-item">
        <label class="lb" for="j_txtLesson">姓名:</label>
        <input class="txt" type="text" id="j_txtLesson" placeholder="请输入姓名">
    </div>
    <div class="form-item">
        <label class="lb" for="j_txtBelSch">专业:</label>
        <input class="txt" type="text" id="j_txtBelSch" value="软件工程">
    </div>
    <div class="form-submit">
        <input type="button" value="添加" id="j_btnAdd">
    </div>
</div>
</body>
</html>
Last modification:May 12th, 2018 at 07:00 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment