Layui给数据表格动态添加一行并跳转到添加行所在页的方法


Posted in Javascript onAugust 20, 2018

Layui是一个前端 UI 框架,该框架风格优雅,但由于发布时间较短,很多功能并没有提供实现。

笔者在使用Layui的数据表格的时候,需求是这样的:当点击添加按钮的时候,就在数据表格最后动态添加一行。上述功能官方并没有给出实现,需要自己手动解决。

解决思路及方案

简单分析:根据需求——动态添加一行,首先想到的是利用JS/jQuery操作DOM对象实现在数据表格table中手动添加一个tr,但由于数据表格的每一行的每一个单元格都有其样式,因此,要想动态添加的一行与Layui数据表格渲染出来的每一行样式及功能一样,就必须给tr设置和渲染出来的每一行一样的样式,利用jQuery去完成这个添加这样一个tr工程量实在太大了,因此需要换一种方案。

数据表格中的原始数据:查看Layui官方文档,采用方法渲染或者自动渲染的方式去生成数据表格时,数据表格中的数据是通过直接赋值的方式或者异步加载的方式获得原始的数据。

直接赋值方式原始的数据其实就是一个对象数组,如[{}, {}, {}, {}, …]。

异步加载方式原始的数据发请求从后端取,然后后端返回给前端的一个json对象,这里要求后端返回给前端的json对象要符合Layui数据表格能渲染的格式,Layui数据表格默认支持的后端返回给前端的json对象格式如下,各个属性具体描叙参照官方文档:

{
  code: 0, 
  msg: "", 
  count: 1000, 
  data: [] 
 }

数据表格的重载:数据表格重载可以将新拿到的原始数据重新渲染到数据表格中,Layui提供的是方法是table.reload(ID, options)

ID:table的id属性值

options:为Layui数据表格的基础参数,具体参照官方文档

下面给出针对原始数据是通过直接赋值的方式、采用方法渲染的数据表格动态添加一行的思路及解决方法

思路:通过上述讲解,动态添加一行其实可以转换为:

拿到数据表格中的所有数据后,也就是拿到一个对象数组,在那个对象数组最后添加一个与拿到的对象数组中对象相同、但其所有属性的属性值为空的一个空对象。(那数据表格中所有数据可参照我的另一篇Layui数据表格之获取表格中所有的数据)

利用table.reload(ID, options)方法将添加了一个“空对象”的数组重新加载渲染到数据表格即可。

跳转到动态添加行所在页,只要设置table.reload(ID, options)中options的page基础参数即可,将page参数的curr属性值设置为动态添加行所在页页码(页码根据数据表格每页显示的记录数以及添加了一行后数据表格中总的记录数自己算)即可。2、3步代码如下():

//获取每页显示的记录数、当前记录总数,计算新添加的记录在第几页
var totalRecord = tableContent.length;
var pageSize = $(".layui-laypage-limits").find("select").val();
if($.type(pageSize) == "string"){
 pageSize = parseInt(pageSize);
}

var currPageNo = Math.ceil(totalRecord / pageSize);
console.log("每页显示的记录数:"+pageSize+" 类型:"+$.type(pageSize)+" 总的记录数:"+totalRecord+" 类型:"+$.type(totalRecord)
  +" 新增行所在页码:"+currPageNo+" 类型:"+$.type(currPageNo));

// 重载表格并跳转到最后修改或者添加数据的那一页
table.reload('viewTable', {
  page : {
   curr : currPageNo
  },
  data : tableContent
});

最终效果图:

动态添加一行前(请将图片保存到本地查看大图)

Layui给数据表格动态添加一行并跳转到添加行所在页的方法

动态添加一行后(请将图片保存到本地查看大图)

Layui给数据表格动态添加一行并跳转到添加行所在页的方法

以上这篇Layui给数据表格动态添加一行并跳转到添加行所在页的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 Javascript
JavaScript获取客户端IP的方法(新方法)
Mar 11 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
Bootstrap 响应式实用工具实例详解
Mar 29 Javascript
基于JavaScript实现的快速排序算法分析
Apr 14 Javascript
JS实现上传图片的三种方法并实现预览图片功能
Jul 14 Javascript
详解JavaScript函数callee、call、apply的区别
Mar 08 Javascript
layui 实现表单和文件上传一起传到后台的例子
Sep 16 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 Javascript
jQuery冲突问题解决方法
Jan 19 jQuery
微信小程序 MinUI组件库系列之badge徽章组件示例
Aug 20 #Javascript
获取layer.open弹出层的返回值方法
Aug 20 #Javascript
react.js组件实现拖拽复制和可排序的示例代码
Aug 20 #Javascript
layui弹出层按钮提交iframe表单的方法
Aug 20 #Javascript
详解如何在Vue里建立长按指令
Aug 20 #Javascript
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
Aug 20 #Javascript
Angular6 写一个简单的Select组件示例
Aug 20 #Javascript
You might like
学习使用PHP数组
2006/10/09 PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
实例解析php的数据类型
2018/10/24 PHP
js 事件小结 表格区别
2007/08/13 Javascript
js 异步处理进度条
2010/04/01 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
JQuery分屏指示器图片轮换效果实例
2015/05/21 Javascript
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
jQuery仅用3行代码实现的显示与隐藏功能完整实例
2015/10/08 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
2019/09/20 Javascript
利用python程序生成word和PDF文档的方法
2017/02/14 Python
Python及Django框架生成二维码的方法分析
2018/01/31 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
详解python Todo清单实战
2018/11/01 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
2018/11/06 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
python 基于opencv实现图像增强
2020/12/23 Python
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
求∏的近似值,直到最后一项的绝对值小于指定的数
2016/02/12 面试题
通用C#笔试题附答案
2016/11/26 面试题
美德好少年事迹材料
2014/01/19 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
咖啡厅商业计划书
2014/09/15 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
喋血孤城观后感
2015/06/08 职场文书
干货:企业内部人才推荐奖励方案!
2019/07/09 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书