zoukankan      html  css  js  c++  java
  • 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/

  • 相关阅读:
    mysql权限管理
    centos 6.5安装node.js
    sublime 配置jade高亮显示
    解决国内npm依赖包安装慢的问题
    sublime text3配置node.js开发环境
    datepicker 时间戳转换问题
    关于c++正则表达式的用法
    Android系统binder机制的研究分析
    TCP/IP的分层复用问题
    关于设计模式中外观模式的研究以及关于设计模式中四大原则的理解
  • 原文地址:https://www.cnblogs.com/kanyun/p/8515091.html
Copyright © 2011-2022 走看看