2.2.45 - 你们要的table点击行自动勾选checkbox

分享 未结
6 897
2Smile
2Smile 2017-12-17
悬赏:20飞吻


1. 兼容开启了左边固定栏的table
2. 点击工具栏无效
3. 跨页记忆勾选状态需要自己实现

贴上HTML结构:
<div class="table-employee">
<table id="table-employee" lay-filter="tableBar"></table>
</div>

JS:
//特别注意 一定要写在Table的 done 回调事件下
done: function (data, pageIndex, count) {
//单击行勾选checkbox事件
var tableBox = $(".table-employee");
tableBox.find('table').unbind("click");//解除以前绑定的所有点击事件
tableBox.find('table').on("click", "tr", function (e) {
var index = $(this).attr('data-index');
console.log('点击行索引:' + index);
var evtTarget = e.target || e.srcElement;
if (!$(evtTarget).is('i') && $(this).parents('.layui-table-fixed.layui-table-fixed-r').length === 0) {
var checkRow;
if (tableBox.find('.layui-table-fixed.layui-table-fixed-l').length > 0) {
checkRow = tableBox.find('.layui-table-fixed.layui-table-fixed-l');
} else {
checkRow = tableBox.find('.layui-table-body.layui-table-main');
}
var checkCell = checkRow.find('tr[data-index=' + index + ']').find(".layui-form-checkbox");
if (checkCell.hasClass('layui-form-checked')) {
checkCell.removeClass('layui-form-checked');
} else {
checkCell.addClass('layui-form-checked');
}
}
});
}
获取勾选上的内容
//删除点击事件
$('#btn-delete').click(function () {
layui.use(['table', 'layer'], function () {
var table = layui.table;

var checkStatus = table.checkStatus('table-employee')
, data = checkStatus.data;
layer.alert(JSON.stringify(data));
});
});
回帖
本帖已设置禁止回复