Layui表格监听行单双击事件

开发工具与关键技术:VS+行单双击事件
作者: 李伙
撰写时间: 2019年7月26日

在学MVC过程中,我们一般都是利用layui插件里的layui数据表格加载数据库中的数据,而layui表格里有许多的事件监听,比如监听行的单双击事件,可利用行的单双击事件实现很多我们想要的功能,比单击某条数据可以进行修改、删除操作,双击某条数据调出到其他表中,接下来就讲讲layui表格里的监听行的单双击事件。
在这里插入图片描述
如上图所示:因为这个数据表格用到了layui插件,因此在使用前要先引用layui插件里面的css文件以及js文件,然后在“$(function(){});”里面加载和初始化layui模块,否则会报错。page表示开启分页。limit表示指定每页显示的条数。limits表示每页条数的选择项,这里可以自己定义每页条数的选择项,初始化表格就看看监听行的单双击事件。
在这里插入图片描述
如上图所示:是layui表格监听行的单击事件,这里是监听刚刚初始化的表格。获取到点击选中的行数据,我这里是根据供应商ID回填form表单数据的,所以要获取供应商ID,用post请求把获取到供应商ID传递到控制器中,在控制器中根据供应商ID查询对应的数据后再回填到form表单中,“loadDatatoForm”是一个方法表示回填form表单数据,但回填不了下拉框数据,所以还需要另一个方法回填。监听行的单击事件可以实现很多功能的。
在这里插入图片描述
上图是监听行的单击事件的效果图,点击左边的某条数据就会回填右边的form表单,这就方便我们查看供应商的基本资料。监听行的单击事件就这样完成了。
在这里插入图片描述
如上图所示:是layui表格监听行的双击事件,这里也是监听刚刚初始化的表格。双击获取到点击选中的行数据,我这里也是根据供应商ID回填另一个form表单数据的,所以要获取供应商ID,用post请求把获取到供应商ID传递到控制器中,在控制器中根据供应商ID查询对应的数据后再回填到form表单中,“loadDatatoForm”是一个方法表示回填form表单数据,但回填不了下拉框数据,所以还需要另一个方法回填。这里监听行的双击事件跟单击事件一样,也是回填form表单,所以请求的控制器代码是一样的。监听行的单击事件可以实现很多功能的。看看效果图,
在这里插入图片描述
上图是监听行的双击事件的效果图,点击某条数据就会回填form表单的数据,这里是只需要回填供应商名称和供应商编号的,然后关闭模态框。监听行的双击事件就完成了。

### 实现 Layui Table 双击事件 为了实现在 Layui 的 `table` 组件中响应双击事件,可以通过监听表格中的每一并绑定自定义事件来完成这一功能。下面是一个具体的实现方法: #### JavaScript 代码示例 ```javascript // 初始化表格实例 var tableIns = layui.table.render({ elem: '#demo', //指定原始表格元素选择器(推荐id选择器) url:'/data.json' ,//数据接口 page:true, //开启分页 cols:[[ {field:'id', title:'ID'}, {field:'username', title:'用户名'} ]] }); // 使用 jQuery 或原生 JS 添加双击事件监听器到每上 document.addEventListener('DOMContentLoaded', function() { document.querySelector('#LAY_table').addEventListener('dblclick', function(event){ var tr = event.target.closest('.layui-table-body .layui-table-tr'); if (tr) { console.log(tr); // 打印被点击的那一 DOM 节点 // 获取当前的数据对象 var rowData = JSON.parse(tr.getAttribute('data-index')); // 假设 data-index 存储的是索引位置,则可以进一步获取实际数据项 var allData = layui.table.cache['demo']; // 'demo' 是表格 ID var currentRowData = allData[rowData]; alert(JSON.stringify(currentRowData)); } }); }); ``` 上述代码展示了如何利用原生JavaScript为整个表格添加一个双重点击侦听器,并从中提取出具体哪一被用户双击了[^1]。 需要注意的是,在某些情况下可能需要调整选择器路径以匹配页面上的确切结构;另外,如果使用了其他库比如jQuery,那么可以选择更简洁的选择器语法[^2]。 对于更加复杂的场景下,还可以考虑结合Layui自带的一些API函数来进操作,例如通过`checkStatus()`获取选中状态的信息等[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值