先监听复选框的选中行数据 将数据缓存在sessiondata里
// plFilter即为lay-filter的值
table.on('checkbox(plFilter)', function (obj) {
// 获取选中或者取消的数据
var data = obj.type == 'one' ? [obj.data] : currentPageData;
$.each(data, function (i, v) {
var keyT = v.id;//id为主键值
if (obj.checked) {
//.增加已选中项
layui.sessionData('checkedData', {
key: keyT, value: v
});
} else {
//.删除
layui.sessionData('checkedData', {
key: keyT, remove: true
});
}
});
});
利用缓存数据获取对象的key值的条目数 pageTable即为表单id,注意此处不能用table.checkStatus('pageTable')来获取数据,这里指的是当前页的数据
table.on('checkbox(pageTable)', function (obj) {
var checkedData = layui.sessionData('checkedData');
var arrcheck = Object.keys(checkedData);
var total = arrcheck.length;
$('#choosecount').html("已选"+total+"条");
}
这里需要注意的是如果多个页面用到此key值,最好先清除缓存数据再进行计算, 即layui.sessionData('checkedData', null);如果同时打开了页面,最好用sessionData不同的key值进行存储