layui表格分页 记录勾选

layui 分页之后没有记录之前勾选项的功能 , 自己写了一个 , 主要点就是表格的done 函数 ,每次渲染完成之后做表格勾选操作。然后需要一个全局变量记录所有已经勾选的项 。下面是自己的代码 。

首先,监听表格的复选框点击事件 , 将单选或全选全部记录下来

    var checkArray = new Array();
    // 当前页数据
    var currentArray ;
            //监听行单击事件(单击事件为:rowDouble)
            table.on('checkbox(test)', function(obj){
                var checkData = obj.data ;
                // 如果是全选中
                if(obj.type == 'all' && obj.checked == true){
                    var checkStatus = table.checkStatus('demo')
                        ,data = checkStatus.data;

                    for(var i in data){
                        // 如果包含就去掉 ,不包含就添加
                        if(checkArray.indexOf(data[i].eventTypeName) > -1){
                        }else {
                            checkArray.push(data[i].eventTypeName) ;
                        }
                    }
                }
                // 全不选中
                else if(obj.type == 'all' && obj.checked == false){

                    for(var i in currentArray){
                        checkArray.remove(currentArray[i].eventTypeName) ;
                    }
                }
                // 如果是单选
                else {
                    var eventTypeName = checkData.eventTypeName ;
                    // 如果包含就去掉 ,不包含就添加
                    if(checkArray.indexOf(eventTypeName) > -1){
                        checkArray.remove(eventTypeName) ;
                    }else {
                        checkArray.push(eventTypeName) ;
                    }
                }
            });

然后 ,

done: function(res, curr, count){
                    //如果是异步请求数据方式,res即为你接口返回的信息。
                    //如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
                    currentArray = res.data ;

                    //.假设你的表格指定的 id="maintb",找到框架渲染的表格
                    var tbl = $('#demo').next('.layui-table-view');

                    // 渲染选择框
                    for(var i in currentArray){

                        for(var j in checkArray){
                            if(currentArray[i].eventTypeName == checkArray[j]){
                                tbl.find('table>tbody>tr').eq(i).find('td').eq(0).find('input[type=checkbox]').prop('checked', true);
                            }
                        }
                    }

                    form.render('checkbox');
                }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值