Layui table 数据表格

GitHub
Gitee
 

<div class="userTable" id="userTable">
    <table id="test" lay-filter="demo"></table>
</div>

1、表格单击事件、复选框选择取消事件

layui.use('table', function () {
    var table = layui.table;
    table.on('row(demo)', function(obj){
        var data = obj.data;
        //复选框选择、取消
        var flag = !obj.tr.find(':checkbox:first').attr('checked');
        obj.tr.find(':checkbox').attr('checked', flag);
        if (flag) {
            obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');
        } else {
            obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');
        }

        layer.alert(JSON.stringify(data), {
            title: '当前行数据:'
        });
    })
})
或
layui.use('table', function () {
    var table = layui.table;
    table.on('tool(demo)', function (obj) {
        var data = obj.data;
        if (obj.event === 'selrow') {
            alert(obj.event);
        }
    })
})
或【同一组的同时选中】
layui.use('table', function () {
    var table = layui.table;
    table.render({
        id: 'user-list',
    });
    table.on('tool(demo)', function (obj) {
        var data = obj.data;
        if (obj.event === 'selected') {
            let tabData = table.cache['user-list'];
            let trIndexs = [];
            let tempData = tabData.filter((item, index) => {
                if (item.p_id == obj.data.p_id) {
                    trIndexs.push(index);
                }
            });
            if (trIndexs.length > 0) {
                //判断是否选中
                let firstIndex = $(obj.tr).attr('data-index');
                let checkCell = $(obj.tr).find('td:first .layui-form-checkbox')
                if (checkCell) {
                    let firstCbxState = checkCell.hasClass('layui-form-checked');
                    if (firstCbxState) {
                        if (firstIndex != trIndexs[0]) {
                            checkCell.click();
                            return
                        }
                    }
                    trIndexs.forEach((item) => {
                        let orderTableTr = $('#userTable .layui-table tr[data-index=' + item + ']');
                        let checkCell = orderTableTr.find('td:first .layui-form-checkbox');
                        let curCbxState = checkCell.hasClass('layui-form-checked');
                        if (firstCbxState) {
                            if (curCbxState) {
                                checkCell.click();
                            }
                        } else {
                            if (!curCbxState) {
                                checkCell.click();
                            }
                        }
                    });
                }
            }
        }
    })
})

2、表格双击事件

layui.use('table', function () {
    var table = layui.table;
    table.on('rowDouble(demo)', function(obj){
        var data = obj.data;
        layer.alert(JSON.stringify(data), {
            title: '当前行数据:'
        });
    })
})

3、监听单元格编辑

layui.use('table', function () {
    var table = layui.table;
    table.on('edit(demo)', function (obj) {
        var data = obj.data;
        var value = obj.value //得到修改后的值
        ,data = obj.data //得到所在行所有键值
        ,field = obj.field; //得到字段
        layer.msg('[ID: '+ data.id +'] ' + field + ' 字段更改值为:'+ util.escape(value));
    })
})

4、监听性别操作(单选按钮)

layui.use('table', function () {
    var table = layui.table
    ,form = layui.form;
    form.on('switch(demo)', function(obj){
        layer.tips(this.value + ' ' + this.name + ':'+ obj.elem.checked, obj.othis);
    })
})

5、监听锁定操作(复选框)

layui.use('table', function () {
    var table = layui.table
    ,form = layui.form;
     form.on('checkbox(demo)', function(obj){
        layer.tips(this.value + ' ' + this.name + ':'+ obj.elem.checked, obj.othis);
    })
})

*
*
*
*
*
*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值