1. 程式人生 > >layui的table單擊行勾選checkbox功能

layui的table單擊行勾選checkbox功能

//單擊行勾選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、將此程式碼在頁面初始化後執行一次即可以。

實現效果:  單擊行,自動選中或取消勾選。