bootstrap table 多选框分页保留示例代码
发布时间 - 2026-01-11 00:03:16 点击率:次在使用bootstrap table的复选框功能的时候,由于采用服务端分页,当在第一页选择了某些数据,然后点击第二页选择一些数据,再次点回第一页,发现原先选择的数据已经清空了,原来的多选框并不支持翻页保留多选数据。

解决思路:
在分页的时候,吧原先选择的数据用一个全局变量保存,当再次翻页回来时,判断当前页数据是否存在于保存的数据数组中,存在则状态为选择。当然当取消选择的时候也要去删除数组中相应的数据。
为了解决这个问题,在查github上查文档发现有人提出了这个问题,并且作者wenzhixin 也编写了相应的例子来演示,想看原问题的点击打开链接。
想直接看示例的点击打开链接
原示例是使用html方式来实现的表格,并使用服务端分页。并且相关js方法并不完善,我也踩了很多坑,所以本博客在原作者编写的示例的基础上,做了相关更改,在此展示和说明:
var $table;
var selectionIds = []; //保存选中ids
$(function () {
$table = $("#example1").bootstrapTable({
contentType:"application/x-www-form-urlencoded; charset=UTF-8", //初始化编码
url:'<%=basePath%>/order/queryOrderList',
method: 'post',
striped:true, //奇偶行渐色表
pagination:true, //显示分页
clickToSelect:true, //是否选中
maintainSelected:true,
sidePagination: "server", //服务端分页
idField:"id",
pageSize: 10,
responseHandler:responseHandler, //在渲染页面数据之前执行的方法,此配置很重要!!!!!!!
columns: [
{field: 'checkStatus',checkbox: true}, //给多选框赋一个field值为“checkStatus”用于更改选择状态!!!!!
{field: 'id',visible:false},
{field: 'orderNumber',title: "订单编号",align:'center',width:'10%'}
]
});
//选中事件操作数组
var union = function(array,ids){
$.each(ids, function (i, id) {
if($.inArray(id,array)==-1){
array[array.length] = id;
}
});
return array;
};
//取消选中事件操作数组
var difference = function(array,ids){
$.each(ids, function (i, id) {
var index = $.inArray(id,array);
if(index!=-1){
array.splice(index, 1);
}
});
return array;
};
var _ = {"union":union,"difference":difference};
//绑定选中事件、取消事件、全部选中、全部取消
$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;
});
func = $.inArray(e.type, ['check', 'check-all']) > -1 ? 'union' : 'difference';
selectionIds = _[func](selectionIds, ids);
});
});
//表格分页之前处理多选框数据
function responseHandler(res) {
$.each(res.rows, function (i, row) {
row.checkStatus = $.inArray(row.id, selectionIds) != -1; //判断当前行的数据id是否存在与选中的数组,存在则将多选框状态变为true
});
return res;
}
原示例中并没有给出union和difference方法,是我自己按着思路实现的。开始并没有实现此功能,后来发现要给checkbox字段加上一个filed字段,并与responseHandler方法中更改的row字段一致,才能实现功能。
以上所述是小编给大家介绍的bootstrap table 多选框分页保留示例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# bootstrap
# 多选框
# table
# Angularjs+bootstrap+table多选(全选)支持单击行选中实现编辑、删除功能
# bootstrap table之通用方法( 时间控件
# 导出
# 动态下拉框
# 表单验证
# 选中与获取信息)代码分享
# bootstrap制作jsp页面(根据值让table显示选中)
# BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选
# 分页
# 多选
# 服务端
# 在此
# 第一页
# 翻页
# 小编
# 是否存在
# 组中
# 我也
# 基础上
# 这个问题
# 要去
# 提出了
# 给大家
# 很重要
# 写了
# 想看
# 要给
# 并与
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在Ubuntu系统下快速搭建WordPress个人网站?
JavaScript如何实现继承_有哪些常用方法
如何快速完成中国万网建站详细流程?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
网站建设保证美观性,需要考虑的几点问题!
javascript中闭包概念与用法深入理解
如何用PHP工具快速搭建高效网站?
java中使用zxing批量生成二维码立牌
Laravel如何使用.env文件管理环境变量?(最佳实践)
如何在Windows环境下新建FTP站点并设置权限?
Linux系统运维自动化项目教程_Ansible批量管理实战
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Laravel怎么上传文件_Laravel图片上传及存储配置
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
高性价比服务器租赁——企业级配置与24小时运维服务
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何挑选最适合建站的高性能VPS主机?
如何选择可靠的免备案建站服务器?
公司网站制作价格怎么算,公司办个官网需要多少钱?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
米侠浏览器网页背景异常怎么办 米侠显示修复
如何正确下载安装西数主机建站助手?
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
如何用好域名打造高点击率的自主建站?
如何用美橙互联一键搭建多站合一网站?
Laravel如何使用Livewire构建动态组件?(入门代码)
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
英语简历制作免费网站推荐,如何将简历翻译成英文?
昵图网官网入口 昵图网素材平台官方入口
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
如何在香港服务器上快速搭建免备案网站?
如何彻底删除建站之星生成的Banner?
PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】
简单实现jsp分页
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel如何使用Vite进行前端资源打包?(配置示例)
jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
独立制作一个网站多少钱,建立网站需要花多少钱?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
清除minerd进程的简单方法
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
,在苏州找工作,上哪个网站比较好?
微信小程序 五星评分(包括半颗星评分)实例代码
如何快速搭建高效可靠的建站解决方案?
高防服务器租用指南:配置选择与快速部署攻略
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】

