zoukankan      html  css  js  c++  java
  • layui数据表格批量删除

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>List</title>
        <link rel="stylesheet" href="~/layuiadmin/layui/css/layui.css" media="all">
        <link rel="stylesheet" href="~/layuiadmin/style/admin.css" media="all">
        <script src="~/Scripts/jquery-3.3.1.js"></script>
        <script src="~/layuiadmin/layui/layui.js"></script>
        <script src="~/Scripts/UrlHelper.js"></script>
        <script src="~/Scripts/Common.js"></script>
        <link href="~/Content/lay-list.css" rel="stylesheet" />
        <script src="~/Scripts/linq.js"></script>
    </head>
    <body>
        <script type="text/html" id="table-tool-bar">
            <div class="layui-inline" lay-event="add"><i class="layui-icon layui-icon-add-1"></i></div>
            <div class="layui-inline" lay-event="delete"><i class="layui-icon layui-icon-delete"></i></div>
        </script>
        <script type="text/javascript">
    
            var obj = [{
                ProductID: 1,
                ProductName: "水杯",
    
            }, ];
    
    
            var LogList = new Array();
    
            function initData()
            {
                if (LogList.length > 0) {
                    $(JSON.parse(logId)).each(function (i, e) {
                        var obj = LogList.find(function (i) {
                            return i.LogId == e.LogId;
                        })
    
                        if (obj === undefined) {
                            LogList.push(e);
                        }
                    })
                } else {
                    LogList = JSON.parse(logId);
                }
    
                layui.use('table', function () {
                    var table = layui.table;
                    table.reload('demo', {
                        data:LogList
                    });
                });
            }
    
            layui.use(['layer', 'table'], function () {
                var layer = layui.layer;
    
                var table = layui.table;
                //第一个实例
                table.render({
                    elem: '#demo'
                    , url: "@Url.Action("Index")"
                    //, data: LogList
                    , page: false //开启分页
                    , limit:100
                    , text: {
                        none: '暂无相关数据' //默认:无数据。注:该属性为 layui 2.2.5 开始新增
                    }
                    , toolbar: '#table-tool-bar'
                    , cols: [[ //表头
                      { field: 'LogId', type: "checkbox", title: '日志ID', sort: true, fixed: 'left' }
                    , { field: 'LogId', title: '日志ID', }
                    , { field: 'UserName', title: '用户名', }
                    , { field: 'Description', title: '操作说明', sort: true }
                    , { field: 'Brower', title: '浏览器' }
                    , { field: 'OS', title: '操作系统', edit: "text" }
                    , { field: 'IP', title: 'IP', sort: true }
                    , { field: 'AddTime', title: '操作时间', sort: true }
                    ]]
                });
    
                var array = [];
                table.on('checkbox(test)', function (obj) {
                    var tr = obj.tr; //得到当前点击复选框的行元素对象
                    if (obj.type == 'all') { //点击全选按钮触发此处
                        var len = array.length;
                        array.splice(0, len); //全选后删除数组项,重新添加全选的dom元素
                        
                        var i = 0;
                        $(obj.tr.prevObject[0].firstChild.rows).each(function (i, e) {
                            var subarr = [$(e), $(obj.tr.prevObject[1].firstChild.rows[i])];
                            array.push(subarr);
                            i++;
                        })
                    }
                    else {
                        if (obj.checked) { //多选框被选中则添加dom元素到数组
                            array.push(tr);
                        } else {//取消多选框的选中则在数组中删除自己
                            var indexs = obj.tr[0].rowIndex;  //获取取消选中的元素对象下标                        
                            array.forEach((item, index) => {
                                //当数组中任意一个元素的rowIndex值与取消复选框的元素对象属性rowIndex的下标值相等,则在数组中删除该元素
                                if (item[0].rowIndex === undefined) {
                                    if (item[0][0].rowIndex == indexs) {
                                        array.splice(index, 1);
                                    }
                                } else {
                                    if (item[0].rowIndex == indexs) {
                                        array.splice(index, 1);
                                    }
                                }
                                
                            })
                        }
                    }
    
                });
    
                table.on('toolbar(test)', function (obj) {
                    var checkStatus = table.checkStatus(obj.config.id);
                    switch (obj.event) {
                        case 'add':
                            layer.open({
                                type: 2,
                                title: "选择商品",
                                area: ['900px', '420px'],
                                shade: 0.8,
                                shadeClose: true,
                                maxmin: true,
                                content: '@Url.Action("Index")'
                            });
                            break;
                        case 'delete':
                            layer.msg('删除');
                            array.forEach((item) => {
                                console.log(item);
                                item[0].remove(); //删除dom结构                            
                                item[1].remove();
                            })
                            break;
                    };
                });
    
                $("button").click(function () {
                    console.log(layui.table.cache["demo"]);
                })
            });
        </script>
    
    
        <table id="demo" lay-filter="test"></table>
    
        <button type="button">test</button>
    </body>
    </html>
  • 相关阅读:
    HDU 1261 字串数(排列组合)
    Codeforces 488C Fight the Monster
    HDU 1237 简单计算器
    POJ 2240 Arbitrage
    POJ 3660 Cow Contest
    POJ 1052 MPI Maelstrom
    POJ 3259 Wormholes
    POJ 3268 Silver Cow Party
    Codesforces 485D Maximum Value
    POJ 2253 Frogger(最短路)
  • 原文地址:https://www.cnblogs.com/superfeeling/p/13377677.html
Copyright © 2011-2022 走看看