layui问题之模拟table表格中的选中按钮选中事件

一、问题

    不操作页面,实现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,用到了这种模拟事件。

猜你喜欢

转载自blog.csdn.net/yan263364/article/details/79035307