• LayUI切换页面记忆选中的列设置选中状态


    切换页面记忆选中的列设置选中状态

    var table_date=new Array();//用于保存当前页数据
    
    var ids=new Array();    //用于保存选中的数据
    
    一.表格回显后事件
    // 渲染表格
    var ins1 = table.render({
    elem: '#shipTable',
    url: config.base_server+'squid/ydShip?bool='+bool,
    page: true,
    cols: [[
    {type: 'checkbox', tableWidth * 0.02},
    {field: 'number', 180,align:"center", sort: true, title: '编号'},
    ]]
      ,done:function (res,curr,count) {
            table_date=res.data;//获得总条数和当前页的数据

    for(var i=0;i< res.data.list.length;i++){//循环当前页的数据条数的次数

    for (var j = 0; j < ids.length; j++) {//循环ids的次数

    if(res.data.list[i].id == ids[j].id) {//判断当前的数据Id和ids中的Id是否相等

    res.data.list[i]["LAY_CHECKED"]='true';//设置勾选

    //找到对应数据改变勾选样式
    var index= res.data.list[i]['LAY_TABLE_INDEX'];
    $('tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);
    $('tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');
    }
    }
    }
    var checkStatus = table.checkStatus('shipTable');//获得选中的值 和判断是否是全选 isAll true全选 isAlL false 没有全选
    if(checkStatus.isAll){
    $('.layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true);
    $('.layui-table-header th[data-field="0"] div[class="layui-unselect layui-form-checkbox"]').addClass('layui-form-checked');
    }
    }
    });
    二.复选框选中监听 ,将选中的id 设置到缓存数组,或者删除缓存数组
    table.on('checkbox(shipTable)', function (obj) {//obj里是选中的列的值
    if(obj.checked==true){
    if(obj.type=='one'){ //选中一个type的值就是one 全选type的值就是all
    ids.push(obj.data);
    }else{
    for(var i=0;i<table_date.list.length;i++){
    ids.push(table_date.list[i]);
    }
    }
    ids=removeArrayRepElement(ids);
    }else{
    if(obj.type=='one'){
    for(var i=0;i<ids.length;i++){
    if(ids[i].id==obj.data.id){
    ids.remove(i);
    }
    }
    }else{
    for(var i=0;i<ids.length;i++){
    for(var j=0;j<table_date.list.length;j++){
    if(ids[i].id==table_date.list[j].id){
    ids.remove(i);
    }
    }
    }
    }
    }
    });


    三.删除数组自定义函数

    //删除数组自定义函数
    Array.prototype.remove=function(dx){
    if(isNaN(dx)||dx>this.length){return false;}
    for(var i=0,n=0;i<this.length;i++)
    {
    if(this[i]!=this[dx]){
    this[n++]=this[i];
    }
    }
    this.length-=1;
    };

    form.render();


    四.数组去重

    function removeArrayRepElement(arr){
    for (var i = 0; i < arr.length; i++) {
    for (var j = 0; j < arr.length; j++) {
    if (arr[i].id == arr[j].id && i != j) {//将后面重复的数删掉
    arr.splice(j, 1);
    }
    }
    }
    return arr;
    }
  • 相关阅读:
    [Android] UI疑问?
    [Android] Gradle sync failed: Unsupported method: BaseConfig.getApplicationIdSuffix().
    [Android] 使用GSON解析json成Bean
    2016工作总结
    【UE】关于UE的一个真实案例
    我在新蛋系的这八年
    关于在线预览word,excel,ppt,pdf的需求处理方法。
    【点滴积累,厚积薄发】windows schedule task中.exe程序的路径问题等问题总结
    【点滴积累,厚积薄发】windows schedule task的最小时间间隔是多少?
    【点滴积累,厚积薄发】修改hosts,并刷新dns缓存
  • 原文地址:https://www.cnblogs.com/HQ0422/p/11438945.html
Copyright © 2020-2023  润新知