加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bootstrap table插件的分页与checkbox使用详解

发布时间:2020-12-18 00:35:51 所属栏目:安全 来源:网络整理
导读:今天需要实现这样一个功能,有checkbox列表可供选择,要选择不分页之间的行并保存 最终实现的功能如图:(图片来自网上) 具体实现 首先,来看具体的代码,这里只截取实现功能所需代码 /** 表格操作 */ //表格分页之前处理多选框数据 _responseHandler:funct

今天需要实现这样一个功能,有checkbox列表可供选择,要选择不分页之间的行并保存

最终实现的功能如图:(图片来自网上)

这里写图片描述

具体实现

首先,来看具体的代码,这里只截取实现功能所需代码

/**

  • 表格操作
    */
    //表格分页之前处理多选框数据
    _responseHandler:function()(res) {
    $.each(res.rows,function (i,row) {
    row.checkStatus = $.inArray(row.id,selectionIds) != -1; //判断当前行的数据id是否存在与选中的数组,存在则将多选框状态变为true
    });
    return res;
    },_list:function(){
    var _this = this
    var settings = {
    url:Path.searchUrl,method:'GET',responseHandler:_this.responseHandler,//在渲染页面数据 之前执行的方法
    height:Path.tbheight
    };
    bsTable.initTable("#boostrapTable",settings);
    // 其它的boostrapTable参数已经封装在bsTable里面了,这里就不贴出来了
    },/**
    • 获取选中ID
    • @returns {*}
    • @private
      */
      _getIdSelections:function() {
      // 用map进行过滤
      return $.map($('#bootstrapTable').bootstrapTable('getSelections'),function (row) {
      return row.id
      });
      },/**
    • 获取选中对象并显示
    • @private
      */
      getCheckParam:function(){
      var union = function(array,ids){
      $.each(ids,id) {
      if($.inArray(id,array)==-1){
      array[array.length] = id;
      }
      });
      return array;
      };
      //取消选中事件操作数组
      var difference = function(array,id) {
      var index = $.inArray(id,array);
      if(index!=-1){
      array.splice(index,1);
      }
      });
      return array;
      };
      var
      = {"union":union,"difference":difference};
      var $table=$('#bootstrapTable');
      //绑定选中事件、取消事件、全部选中、全部取消
      $table.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.id;
      });
      var names = $.map(!$.isArray(rows) ? [rows] : rows,function (row) {
      return row.name;
      });
      func = $.inArray(e.type,['check','check-all']) > -1 ? 'union' : 'difference';
      selectionIds = func;
      selectionNames =
      func;
      });
      }
      };
      return curd;

});

比较

常用的技巧

使用boostrapTable时候,选择表格的行,返回的rows有很多,这时候需要过滤出我们需要的字段,可以用

当然,如果需要对选出的数据有限制筛选,用filter过滤也不错

2); }); console.log(filterResult); //[3,3],返回所有数值都大于2的一个数组

相关讨论

如果想了解更多细节,可以看看GitHub上的issue

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读