bootstrap-table 切换页码保留勾选的checkbox

首先该方法除了需要引入bootstrap库和bootstrap-table外,还需要引入一个工具库js:lodash.js    点我

使用时在jquery.min.js、bootstrap.min.js、bootstrap-table.js之后引入 lodash.js

html

<table id="dataShow"></table>

  

#定义一个数组:勾选的结果保留在selections数组中
var
selections = []; $(function () {
     # 注意:该函数定义在jquery初始化里面 $(
"#dataShow").on('check.bs.table check-all.bs.table ' + 'uncheck.bs.table uncheck-all.bs.table', function (e, rows) { var ids = $.map(!$.isArray(rows) ? [rows] : rows, function (row) { return row.managerInfoId;//注意这里的row.id 中的id指的是列表的主键,替换成你使用的就行了比如 managerInfoId等 }), func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference'; selections = _[func](selections, ids); }); }); function responseHandler(res) { $.each(res.rows, function (i, row) { # 注意这里的row.id 中的id指的是列表的主键,替换成你使用的就行了比如 managerInfoId
# 注意这里的row.state中的state指的是表格中checkbox那一列定义的filed,替换成你使用的就行了比如 state等
          row.state = $.inArray(row.managerInfoId, selections) !== -1;
        });
        return res;
    }

主要代码就上面那些,以下是bootstrap-table初始化代码

var TableInit = function () {
        var oTableInit = new Object();
        oTableInit.Init = function () {
            $("#dataShow").bootstrapTable({
                url: "<%=path%>/oa/workTime/getManagerList",
                method: 'post',                      //请求方式(*)
                striped: true,                      //是否显示行间隔色
                contentType: 'application/x-www-form-urlencoded',
                cache: false,                       //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                pagination: true,                   //是否显示分页(*)
                maintainSelected: true,
                sidePagination: "server",           //分页方式:client客户端分页,server服务端分页(*)
                pageNumber: 1,                      //初始化加载第一页,默认第一页,并记录
                pageSize: 10,                     //每页的记录行数(*)
                pageList: [10, 25, 50, 100],        //可供选择的每页的行数(*)
                queryParams: oTableInit.queryParams,
                responseHandler: responseHandler,

                columns: [{
                    field: 'state',
                    checkbox: true
                }, {
                    field: 'managerInfoId',
                    visible: false

我只是简略的贴了出来,注意标红处跟上面代码的关系

bootstrap-table api:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

原文地址:https://www.cnblogs.com/kanyun/p/8515091.html