Layui表格复选框下一页后保持选中,table复选框checkbox跨页保持复选状态

本文主要是介绍Layui表格复选框下一页后保持选中,table复选框checkbox跨页保持复选状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

由于layui表格切换其他页码之后前面选中的就会被刷新,只能选择当前页的数据,这样就让人体验不好,我们可以使用以下方式实现保持每页的选中。
实现内容,layui表格复选框点击下一页后前面选中的保持选中。

实现

创建两个全局的集合变量

var temp_table_list = []; // 临时保存每页的所有数据
var temp_all_list = []; // 临时保存所有选中的数据

列表实现

table.render({elem: '#user_table',id: 'user_table',url: 'personnel/select',title: '用户管理',skin: 'line',page: true,cols: [[{type: 'checkbox'},{field: 'eno', title: '工号', sort: true, align: 'center'},{field: 'name', title: '姓名', sort: true, align: 'center'},{field: 'dnames', title: '部门', sort: true, align: 'center'},{field: 'sex', title: '性别', sort: true, align: 'center'},{field: 'phone', title: '手机号码', sort: true, align: 'center'},]], done: function (res, currPage, count) {temp_table_list = res.data;temp_table_list.forEach(function(o, i) {for (var j=0; j<temp_all_list.length; j++){if(temp_all_list[j].id == o.id){// 这里才是真正的有效勾选res.data[i]["LAY_CHECKED"]='true';// 找到对应数据改变勾选样式,呈现出选中效果var index= res.data[i]['LAY_TABLE_INDEX'];$('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').prop('checked', true);$('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').next().addClass('layui-form-checked');}}})// 设置全选checkbox的选中状态,只有改变LAY_CHECKED的值, table.checkStatus才能抓取到选中的状态var checkStatus = table.checkStatus('user_table');//这里的studentTable是指分页中的idif(checkStatus.isAll){// 是否全选// layTableAllChoose$('.layui-table th[data-field="0"] input[type="checkbox"]').prop('checked', true);//data-field值默认为0,如果在分页部分自定义了属性名,则需要改成对应的属性名$('.layui-table th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked');//data-field值默认为0,如果在分页部分自定义了属性名,则需要改成对应的属性名}}
});

监听表格复选框

// 选中行监听(临时存储复选数据,用于列表复选框回显上一页)
table.on('checkbox(user_table)', function (obj) {if (obj.checked == true) {if (obj.type == 'one') {temp_all_list.push(obj.data);} else {for (var i = 0; i < temp_table_list.length; i++) {temp_all_list.push(temp_table_list[i]);}}} else {let all_list = temp_all_list; // 使用临时数组,防止删除临时选中所有的数组错乱if (obj.type == 'one') {for (var i = 0; i < temp_all_list.length; i++) {if (temp_all_list[i].id == obj.data.id) {for (var k=0; k<all_list.length; k++){if (all_list[k].id == obj.data.id) {all_list.splice(k, 1);}}}}} else {for (var i = 0; i < temp_all_list.length; i++) {for (var j = 0; j < temp_table_list.length; j++) {if (temp_all_list[i].id == temp_table_list[j].id) {for (var k=0; k<all_list.length; k++){if (all_list[k].id == temp_table_list[j].id) {all_list.splice(k, 1);}}}}}}temp_all_list = all_list;}
});

最终数据获取就是 temp_all_list

这篇关于Layui表格复选框下一页后保持选中,table复选框checkbox跨页保持复选状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/822898

相关文章

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Java利用poi实现word表格转excel

《Java利用poi实现word表格转excel》这篇文章主要为大家详细介绍了Java如何利用poi实现word表格转excel,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、每行对象类需要针对不同的表格进行对应的创建。package org.example.wordToEx

使用EasyExcel实现简单的Excel表格解析操作

《使用EasyExcel实现简单的Excel表格解析操作》:本文主要介绍如何使用EasyExcel完成简单的表格解析操作,同时实现了大量数据情况下数据的分次批量入库,并记录每条数据入库的状态,感兴... 目录前言固定模板及表数据格式的解析实现Excel模板内容对应的实体类实现AnalysisEventLis

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装