zoukankan      html  css  js  c++  java
  • 利用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...')
  • 相关阅读:
    Java操作XML文件
    数据结构之shell排序
    制作个人开发IDE
    ActiveMQ基本详解与总结
    ActiveMQ的作用总结(应用场景及优势)
    C# 封装miniblink 使用HTML/CSS/JS来构建.Net 应用程序界面和简易浏览器
    已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容
    RabbitMQ的六种工作模式
    RabbitMQ学习系列
    RabbitMQ基本概念和原理
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15515248.html
Copyright © 2011-2022 走看看