一、问题 不操作页面,实现table表格中的checkbox选中功能 二、经过 刚开始的思路: 1、通过table的id,找到table渲染时生成的div,即table的下一个兄弟节点div.layui-table-view 2、由于checkbox是
一、问题
不操作页面,实现table表格中的checkbox选中功能
二、经过
刚开始的思路:
1、通过table的id,找到table渲染时生成的div,即table的下一个兄弟节点div.layui-table-view
2、由于checkbox是固定列,再通过第一步,找到div.layui-table-view的子元素.layui-table-fixed
3、紧接着,找出table的第一行的第一个td里面的input,即tr[data-index="0"] td input(注:这个input的类型就是checkbox)
4、找到input的下一个兄弟节点,即div.layui-form-checked
layui.use(['table', 'form', 'layer', 'layedit', 'laydate'], function() { // code //模拟checkbox选中功能 var checkbox = $('#employeesTable').next().find('.layui-table-fixed tr[data-index="0"] td input'); checkbox.next().click(); });
结果可想而知,并没有实现。在console中打印出来,找不到.layui-table-fixed,只能找到table里面的<tbody></tbody>,而且里面没有子节点。
三、结果
想一下,大概是table渲染数据时,模拟checkbox选中功能已经开始执行了。更这段code加一个延迟,这个问题解决。
setTimeout(function () { var td = $('#employeesTable').next().find('.layui-table-fixed tr[data-index="0"] td input'); td.next().click(); },3000);
PS:后台在写测试,需要操作页面dom,用到了这种模拟事件。
以上这篇layui问题之模拟table表格中的选中按钮选中事件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。