layui显示跨页已勾选的数据条数

先监听复选框的选中行数据 将数据缓存在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值进行存储

你可能感兴趣的:(jQuery,layui,layui,javascript,ecmascript)