bootstrap table获取翻页前勾选的数据

需求:使用bootstrap table后台分页,但是前台翻页后,需要记录上一次勾选的数据。

如果返回之前的页面,需进行反显。

附部分代码:

1. table添加监听,获取选中行数据;

$('#carTable')
    .on(
        'uncheck.bs.table check.bs.table check-all.bs.table uncheck-all.bs.table',
        function (e, rows) {
            var datas = $.isArray(rows) ? rows : [rows]; // 点击时获取选中的行或取消选中的行
            examine(e.type, datas); // 保存到全局 Array() 里
        }
);

2. 根据选中或取消操作对数组进行格式化;

var overAllIds = new Array(); //全局数组
function examine(type, datas) {
    if (type.indexOf('uncheck') == -1) {
        $.each(datas,
            function (i, v) {
                // 添加时,判断一行或多行的 id 是否已经在数组里 不存则添加 
                overAllIds.indexOf(v.cVin) == -1 ? overAllIds.push(v.cVin) : -1;
            });
    } else {
        $.each(datas, function (i, v) {
            overAllIds.splice(overAllIds.indexOf(v.cVin), 1); //删除取消选中行
        });
    }
}

3. 根据数组数据进行判断是否选中;

{
    checkbox: true,
    formatter: function (i, row) { // 每次加载 checkbox 时判断当前 row 的 id 是否已经存在全局 Set() 里
        if ($.inArray(row.cVin, overAllIds) != -1) {// 判断数组里有没有这个 id
            return {
                checked: true// 存在则选中
            }
        }
    }
}

注意:数组里存储行数据中的主键(唯一标识符),不可重复!

附bootstrap table监听事件:

click-row:行点击事件,callback获取4个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象 , field 当前单元格的field值。(row是数据对象,ele是DOM对象)

dbl-click-row:行双击事件,callback获取4个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象 , field 当前单元格的field值。(row是数据对象,ele是DOM对象)

check:单个checkbox选中事件,callback获取3个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象。(row是数据对象,ele是DOM对象)

扫描二维码关注公众号,回复: 8597970 查看本文章

uncheck:单个checkbox取消选中事件,callback获取3个参数 : e 事件对象 , row 当前行数据对象 , ele 当前单元格对象。(row是数据对象,ele是DOM对象)

check-all:全选checkbox事件,callback获取2个参数 :e 事件对象 ,dataArr 选中行数据对象集合(dataArr的对象是数据对象)

uncheck-all:全选checkbox取消事件,callback获取2个参数 :e 事件对象 ,dataArr 选中行数据对象集合(dataArr的对象是数据对象)

sort:列排序事件,callback获取3个参数 : e 事件对象 , field 当前列的field值 , order 当前列是升序还是降序(enum值,desc , asc)。

load-success:数据加载成功事件,callback获取2个参数:e 事件对象 , data 成功加载的数据对象集合。(dataArr的对象是数据对象)

load-error:数据加载失败事件,callback获取2个参数:e 事件对象 , status 失败状态码。

column-switch:显示隐藏列选择事件,callback获取3个参数:e 事件对象 ,field 当前列的field值 ,checked 是否勾选(bool值)。

page-change:翻页事件,callback获取3个参数 : e 事件对象 ,number 当前页码(不是下标,是页码) ,size 当前页数据条数。

search:搜索事件,callback获取2个参数 : e 事件对象 ,text 搜索框输入内容。

发布了6 篇原创文章 · 获赞 5 · 访问量 698

猜你喜欢

转载自blog.csdn.net/MaxVelika/article/details/103976277