• 利用Bootstrap和jQuery实现简单页面的表格增删改


    页面展示1

     

    页面展示2

    页面展示3

    代码部分 (记得引入jQuery文件和bootstrap的css和js文件)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <link rel="icon" href="//s01.mifile.cn/favicon.ico">
        <script src="jQuery3.6.js"></script>
        <link rel="stylesheet" href="bootstrap-3.4.1-dist/css/bootstrap.min.css">
        <script src="bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
        <style>
            .ii1 {
                text-align: center;
                border-radius: 4px;
                border: 1px solid #ccc;
            }
        </style>
    </head>
    <body>
    
    <div class="container">
        <!--导航条样式-->
        <div class="row">
            <nav class="navbar navbar-default">
                <div class="container-fluid">
                    <!-- Brand and toggle get grouped for better mobile display -->
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                                data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" href="#">Brand</a>
                    </div>
    
                    <!-- Collect the nav links, forms, and other content for toggling -->
                    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                        <ul class="nav navbar-nav">
                            <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
                            <li><a href="#">Link</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
                                   aria-haspopup="true"
                                   aria-expanded="false">Dropdown <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">Action</a></li>
                                    <li><a href="#">Another action</a></li>
                                    <li><a href="#">Something else here</a></li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">Separated link</a></li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">One more separated link</a></li>
                                </ul>
                            </li>
                        </ul>
                        <form class="navbar-form navbar-left">
                            <div class="form-group">
                                <input type="text" class="form-control" placeholder="Search">
                            </div>
                            <button type="submit" class="btn btn-default">Submit</button>
                        </form>
                        <ul class="nav navbar-nav navbar-right">
                            <li><a href="#">Link</a></li>
                            <li class="dropdown">
                                <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
                                   aria-haspopup="true"
                                   aria-expanded="false">Dropdown <span class="caret"></span></a>
                                <ul class="dropdown-menu">
                                    <li><a href="#">Action</a></li>
                                    <li><a href="#">Another action</a></li>
                                    <li><a href="#">Something else here</a></li>
                                    <li role="separator" class="divider"></li>
                                    <li><a href="#">Separated link</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div><!-- /.navbar-collapse -->
                </div><!-- /.container-fluid -->
            </nav>
        </div>
        <!--内容文本-->
        <div class="row">
            <!--左侧面板-->
            <div class="col-md-3 col-sm-3 col-lg-3">
                <div class="panel panel-primary">
                    <div class="panel-heading">
                        <h3 class="panel-title">Panel title</h3>
                    </div>
                    <div class="panel-body">
                        Panel content
                    </div>
                </div>
                <div class="panel panel-info">
                    <div class="panel-heading">
                        <h3 class="panel-title">Panel title</h3>
                    </div>
                    <div class="panel-body">
                        Panel content
                    </div>
                </div>
                <div class="panel panel-success">
                    <div class="panel-heading">
                        <h3 class="panel-title">Panel title</h3>
                    </div>
                    <div class="panel-body">
                        Panel content
                    </div>
                </div>
            </div>
            <!--右侧-->
            <div class="col-md-9 col-sm-9 col-lg-9">
                <!--添加操作模态框-->
                <div>
                    <!-- Button trigger modal -->
                    <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal"
                            data-keyboard=false>
                        添加员工
                        <span class="glyphicon glyphicon-user"></span>
                    </button>
    
                    <!-- Modal -->
                    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                        <div class="modal-dialog" role="document">
                            <div class="modal-content">
                                <div class="modal-header">
                                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                                            aria-hidden="true">&times;</span></button>
                                    <h4 class="modal-title" id="myModalLabel">添加员工</h4>
                                </div>
                                <div class="modal-body">
                                    <form action="">
                                        <div class="form-group">
                                            <label for="user">姓名</label>
                                            <input type="text" class="form-control" id="user" placeholder="请输入姓名">
                                        </div>
                                        <div class="form-group">
                                            <label for="age">年龄</label>
                                            <input type="text" class="form-control" id="age" placeholder="请输入年龄">
                                        </div>
                                        <div class="form-group">
                                            <b>部门</b>
                                            <select name="" id="dep" class="form-control">
                                                <option value="销售部" selected>销售部</option>
                                                <option value="人事部">人事部</option>
                                                <option value="开发部">开发部</option>
                                                <option value="测试部">测试部</option>
                                            </select>
                                        </div>
                                    </form>
                                </div>
                                <div class="modal-footer">
                                    <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                                    <button type="button" class="btn btn-primary add_btn">添加</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <br>
                <!--表格-->
                <table class="table table-bordered table-striped">
                    <thead>
                    <tr>
                        <th class="text-center"><span>序号</span></th>
                        <th class="text-center"><span>姓名</span></th>
                        <th class="text-center"><span>年龄</span></th>
                        <th class="text-center"><span>部门</span></th>
                        <th class="text-center"><span>操作</span></th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr>
                        <td class="text-center"><span>1</span></td>
                        <td class="text-center"><span>张三</span></td>
                        <td class="text-center"><span>20</span></td>
                        <td class="text-center"><span>开发部</span></td>
                        <td class="text-center">
                            <button class="btn btn-danger btn-xs bj_btn">编辑</button>
                            <button class="btn btn-warning btn-xs del_btn">删除</button>
                        </td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
    
    <!--重点在于js代码,html绝大部分都是cv即可-->
    <script>
        // 添加员工
        $(".add_btn").click(function () {
            let $tr = $("<tr></tr>");
            // console.log($tr);
    
            if ($("#user").val() && $("#age").val()) {
                $("tbody").append($tr);
                let index = $($tr).index() + 1;
                let user = $("#user").val();
                let age = $("#age").val();
                let dep = $("#dep").val();
    
                let ele = add_ele(index);
                let ele1 = add_ele(user);
                let ele2 = add_ele(age);
                let ele3 = add_ele(dep);
    
                let ele4 = add_btn_ele();
    
                $($tr).append(ele).append(ele1).append(ele2).append(ele3).append(ele4);
                // console.log($($tr).children());
    
                $("#myModal").modal("hide");  // 关闭模态框
                $("#user").val('');  // 将input输入框的值初始化为空
                $("#age").val('');  // 将input输入框的值初始化为空
            } else {
                alert("输入不能为空...");
            }
        });
    
        // 创建td标签
        function add_ele(value) {
            let s = `<td class="text-center"><span>${value}</span></td>`;
            return s;
        }
    
        function add_btn_ele() {
            let s = '<td class="text-center"> <button class="btn btn-danger btn-xs bj_btn">编辑</button> <button class="btn btn-warning btn-xs del_btn">删除</button> </td>';
            return s;
        }
    
        // 删除员工
        $("tbody").on("click", ".del_btn", function () {  // 事件委派
            let res = confirm("您确定要删除吗?")
            if (res) {
                $(this).parentsUntil("tbody").remove();
            }
        });
    
        // 编辑员工
        $("tbody").on("click", ".bj_btn", function () {  // 事件委派
            $(this).html("保存").removeClass("btn-danger").addClass("btn-primary").removeClass("bj_btn").addClass("bc_btn");
            $(this).parent().siblings().each(function () {
                if ($(this).index() !== 0) {
                    let $input = $("<input type='text' class='ii1'>");
                    $input.val($(this).text());
                    $(this).empty().append($input);
                }
            });
        });
    
        // 保存员工
        var flag = 0
        $("tbody").on("click", ".bc_btn", function () {  // 事件委派
            $(this).parent().siblings().each(function () {
                if ($(this).children("input").val()) {
                    flag++
                }
            })
            if (flag >= 3) {
                $(this).parent().siblings().each(function () {
                    if ($(this).index() !== 0) {
                        let $span = $("<span></span>");
                        if ($(this).children("input").val()) {
                            $span.text($(this).children("input").val());
                            $(this).empty().append($span);
                        }
                    }
                });
                $(this).html("编辑").removeClass("btn-primary").addClass("btn-danger").removeClass("bc_btn").addClass("bj_btn");
                flag = 0;
            } else {
                alert("输入内容不准为空...");
                flag = 0;
            }
        })
    
        // input输入框失去焦点后判断是否有值
        $("tbody").on("blur", ".ii1", function () {  // 事件委派
            if (!$(this).val()) {
                alert("输入不能为空...");
            }
        })
    
        // 清除模态框的input输入框回显问题
        $("[data-dismiss=modal]").click(function () {
            $("#user").val('');
            $("#age").val('');
        });
    </script>
    
    </body>
    </html>

     Bootstrap和jQuery的cdn导入地址

    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
    while True: print('studying...')
  • 相关阅读:
    ZOJ 2588 Burning Bridges
    POJ 1966 ZOJ 2182 Cable TV Network
    HDU 5348 MZL's endless loop
    HDU 5352 MZL's City
    Tarjan算法求解无向连通图的割点、割边、点双连通分量和边双连通分量的模板
    ZOJ 1119 SPF
    HDU 3452 Bonsai
    HDU 1520 Anniversary party
    POJ 2239 Selecting Courses
    POJ 1144 Network
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15515248.html
Copyright © 2020-2023  润新知