【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
为大家分享一篇layui的table单击行勾选checkbox功能方法,具有很好的参考价值,希望对大家有所帮助。
如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
//单击行勾选checkbox事件 $(document).on( "click" , ".layui-table-body table.layui-table tbody tr" , function () { var index = $( this ).attr( 'data-index' ); var tableBox = $( this ).parents( '.layui-table-box' ); //存在固定列 if (tableBox.find( ".layui-table-fixed.layui-table-fixed-l" ).length>0) { tableDiv = tableBox.find( ".layui-table-fixed.layui-table-fixed-l" ); } else { tableDiv = tableBox.find( ".layui-table-body.layui-table-main" ); } var checkCell = tableDiv.find( "tr[data-index=" + index + "]" ).find( "td div.laytable-cell-checkbox div.layui-form-checkbox I" ); if (checkCell.length>0) { checkCell.click(); } }); $(document).on( "click" , "td div.laytable-cell-checkbox div.layui-form-checkbox" , function (e) { e.stopPropagation(); }); |
实现原理:找到table的div绑定单击事件到表格的行:
1、取得行的索引data-index,为后面查找checkbox的控件作准备
2、根据是否有固定列查找checkbox所在的表格table(当存在固定列时,固定列是另一个table,checkbox控件就在这上面,因此要优先取这个)
3、通过table和data-index查找checkbox控件”td div.laytable-cell-checkbox div.layui-form-checkbox I”,如果存在,则执行单击
4、对td的单击事件进行拦截停止,防止事件冒泡再次触发上述的单击事件5、将此代码在页面初始化后执行一次即可以。
实现效果:单击行,自动选中或取消勾选。
以上这篇layui的table单击行勾选checkbox功能方法就是小编分享给大家的全部内容了。
来源:oschina
链接:https://my.oschina.net/tshblogs/blog/3144134