layui table 选中返回

需要重写一下modules/table.js,从官网下载layui的源码。然后复制一份table.js到modules目录下,重命名为tables.js。

如果直接lay.use("tables")是无法加载的,所以需要更改一下layui.js或者layui.min.js,添加到内置对象里。

添加为:tables:"modules/tables"。这样就可以正常的使用,这也是实际更改过程中费时最久的一个部分。

找到如下代码:

that.elem.on('click', 'input[name="layTableCheckbox"]

增加如下代码:

// iwonmo 逻辑开始 把选择框写入到本地存储里
var xi = checkbox[0].getAttribute("data-indexkey");
if(xi>0) {
    var xjson = localStorage.getItem("iwonmo_table");
    if(xjson==null){
        if($(checkbox[0]).is(':checked')==true){
            var xjsons=[]
            xjsons.push(xi);
            localStorage.setItem("iwonmo_table",JSON.stringify(xjsons))
        }
    }else{
        xjson=JSON.parse(xjson)
        if($.inArray(xi, xjson) == -1)
        {
            if($(checkbox[0]).is(':checked')==true){
            xjson.push(xi)
            localStorage.setItem("iwonmo_table",JSON.stringify(xjson))
        }
        }else{
            if($(checkbox[0]).is(':checked') == false){
                delete xjson.splice([$.inArray(xi, xjson)],1);
                localStorage.setItem("iwonmo_table",JSON.stringify(xjson))
            }
        }
    }
}
// iwonmo 逻辑结束

找到如下代码

//渲染不同风格的列
switch(item3.type){

增加如下代码

// iwonmo 逻辑开始
var my_key="";
var ischecked = ""
if('id' in item1)
{
    my_key="data-indexKey="+item1.id
    var xjson = localStorage.getItem("iwonmo_table");
    if(xjson != null){
        xjson=JSON.parse(xjson)
        if($.inArray(""+item1.id, xjson) > -1)
            ischecked="checked";
    }
}
// iwonmo 逻辑结束

效果如下

222222.gif

取值方法也没有受到影响

微信截图222.png


下载:tables.zip



layui table 选中返回


本站如无特别说明即为原创,转而告知:(http://iwonmo.com/archives/1609.html)

标签: table分页返回, table分页选中, 跨分页保存

添加新评论