Bootstrap Table快速完美搭建后台管理系统
发布时间 - 2026-01-11 03:20:23 点击率:次Bootstrap Table是基于 Bootstrap 的 jQuery 表格插件,通过简单的设置,就可以拥有强大的单选、多选、排序、分页,以及编辑、导出、过滤(扩展)等等的功能:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/

现在做的一个app管理以及后台配置系统,需要针对不同的城市作相应的定制化的配置,对一些后台数据也做一些展示和操作,所以每一个模块基本都会有表格的展现形式,这样做的好处就是直观方便操作。对于用什么table插件,无疑就是bootstrap table了,功能强大文档完善,并且我们项目里也是基于bootstrap布局的,所以就选择了他,接下来就贴一些项目代码来展示(仅供参考),自己也做一下笔记。
首先是用到了bootstrap的Tab来切换不同的表格用于展示,切换菜单代码如下:
<div class="report-count">被举报次数:${count}次</div>
<ul class="report-btn nav nav-tabs" id="myTab" >
<li class="pending active"><a href="#padding" onclick="freashTable(0)" data-toggle="tab">待处理:${stateCountList[0]}次</a><i class=""></i></li>
<li class="success-report"><a href="#success-report" onclick="freashTable(1)" data-toggle="tab">举报成立:${stateCountList[1]}次</a></li>
<li class="fail-report"><a href="#fail-report" onclick="freashTable(2)" data-toggle="tab">举报不成立:${stateCountList[2]}次</a></li>
</ul>
相信对于bootstrap并不陌生,给每一个需要切换的标签 加上{data-toggle="tab"},并且增加锚点用于匹配到对应的切换的子内容{锚点:href="#padding" rel="external nofollow" },切换对应的字内容代码如下:
<div class="table-view tab-content">
<div class=" tab-pane fade in active" id="padding">
<div class="table-header clear">
<c:forEach items="${complainCount1}" varStatus="i" var="c" >
<div>${c.complain_reason}:${c.count}次</div>
</c:forEach>
</div>
<div class="line addStyle"></div>
<div>
<table class="table"></table>
</div>
</div>
<div class="tab-pane fade" id="success-report">
<div class="table-header clear">
<c:forEach items="${complainCount2}" varStatus="i" var="c" >
<div>${c.complain_reason}:${c.count}次</div>
</c:forEach>
</div>
<div class="line addStyle"></div>
<div>
<table class="table"></table>
</div>
</div>
<div class="tab-pane fade" id="fail-report">
<div class="table-header clear">
<c:forEach items="${complainCount3}" varStatus="i" var="c" >
<div>${c.complain_reason}:${c.count}次</div>
</c:forEach>
</div>
<div class="line addStyle"></div>
<div>
<table class="table"></table>
</div>
</div>
</div>
通过给每一个需要切换子内容元素设置对应上述锚点的id{#padding},并且不要忘了给外层容器加(tab-content),给子元素容器加class(tab-pane fade in active),有active的就是默认选中的。每一个子内容都有一个table元素,所以这里就是我们需要的table,切换每一个tab就会刷新显示对应的table数据。这里我们采用动态的生成table的方式加载数据。
var $table=$('.table')
function initTable(index){
$table.bootstrapTable({
url: '${basePath}/interacts/complain/getComplainList?pkid='+$("#pkid").val()+'&state='+index, //请求数据地址url
height: getHeight(), //获取行高
striped: true, //设置为 true 会有隔行变色效果
search: true, //为true会有搜索框
showRefresh: true, //为true有刷新按钮
showColumns: true, //是否显示 内容列下拉框
minimumCountColumns: 2,//当列数小于此值时,将隐藏内容列下拉框
clickToSelect: true, //点击行是checkbox或者rediobox选中
detailView: true, //设置为 true 可以显示详细页面模式。table第一行会有+号,点击会出现更详细的该行信息
detailFormatter: 'detailFormatter', //格式化详细页面模式的视图。
pagination: true, //展示有分页
paginationLoop: false, //循环分页
sidePagination: 'server', //设置在哪里进行分页,可选值为 'client' 或者 'server'。设置 'server'时,必须设置 服务器数据地址(url)或者重写ajax方法
silentSort: false, //设置为 false 将在点击分页按钮时,自动记住排序项。仅在 sidePagination设置为 server时生效19 escape: true, //转义HTML字符串,替换 &, <, >, ", `, 和 ' 字符.
searchOnEnterKey: true, //设置为 true时,按回车触发搜索方法,否则自动触发搜索方法
idField: 'systemId', //指定主键
maintainSelected: true, //设置为 true 在点击分页按钮或搜索按钮时,将记住checkbox的选择项
toolbar: '#toolbar', //一个jQuery 选择器,指明自定义的toolbar
columns: [
{field: 'complain_reason', title: '举报类型',align: 'center'},
{field: 'nick_name', title: '举报人',align: 'center'},
{field: 'create_time', title: '举报时间',formatter:'timeFormat' },
{field: 'complain_state', title: '举报状态',formatter:'stateFormat'}
{field: 'action', title: '操作', align: 'center', formatter: 'actionFormatter', events: 'actionEvents', clickToSelect: false}
]
});
}
以上就是初始化table的函数,传index是为了切换时候请求不同的地址刷新不同的table,因为在每一个tab切换菜单都有onclick事件函数 freashTable(index),table的所有用到的配置我都在上述代码中做了注释,想看跟详细的配置请看官网配置(http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/)。columns配置每一行,field是对应的每一列要显示的字段key值,title对应的是每一列的头部,formatter是格式化每一列的自定义函数,下面只展示时间格式化函数代码:
function timeFormat(value,row,index){
value = row.modifyTime==null?value:row.modifyTime;
return new Date(parseInt(value)).toLocaleString().replace(/:\d{1,2}$/,' ');
}
对应的field为action的那一行就是操作按钮了,格式化操作按钮代码如下:
function actionFormatter(value, row, index) {
return [
'<a class="update" href="javascript:;" onclick="editdateAction(\'' + row.systemId + '\')" data-toggle="tooltip" title="Edit"><i class="glyphicon glyphicon-edit"></i></a> ',
'<a class="delete" href="javascript:;" onclick="deleteRowAction(\''+row.systemId+'\')" data-toggle="tooltip" title="Remove"><i class="glyphicon glyphicon-remove"></i></a>'
].join('');
}
同时分页bootstrap已经提供了完整的配置(包括每页显示的行数,分页按钮,总条数和总页数等等)但是没有跳转到指定行,所以需要我们自己写他的样式定位到相应的分页栏,不过他有相关的方法提供,
selectPage就是跳到指定页,我们可以自己系一个方法:
function goPage(){
var page=$('#pageNum').val();
$table.bootstrapTable('selectPage',page)
}
在用其方法时候,要$table.bootstrapTable('selectPage',page)使用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Bootstrap
# Table
# Bootstrap Table 删除和批量删除
# 集合Bootstrap自定义confirm提示效果
# ASP.NET MVC 使用Bootstrap的方法
# BootStrap数据表格实例代码
# bootstrap-table组合表头的实现方法
# BootStrap给table表格的每一行添加一个按钮事件
# PHP实现登录注册之BootStrap表单功能
# 详解bootstrap用dropdown-menu实现上下文菜单
# 分页
# 设置为
# 会有
# 都有
# 自定义
# 也做
# 的是
# 就会
# 下拉框
# 将在
# 我都
# 是基于
# 每页
# 我们可以
# 这样做
# 他有
# 重写
# 可选
# 想看
# 于此
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何在自有机房高效搭建专业网站?
如何获取免费开源的自助建站系统源码?
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
开心动漫网站制作软件下载,十分开心动画为何停播?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
如何构建满足综合性能需求的优质建站方案?
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
javascript事件捕获机制【深入分析IE和DOM中的事件模型】
如何快速生成凡客建站的专业级图册?
html文件怎么打开证书错误_https协议的html打开提示不安全【指南】
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
iOS中将个别页面强制横屏其他页面竖屏
如何快速查询域名建站关键信息?
Laravel如何创建自定义Facades?(详细步骤)
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel storage目录权限问题_Laravel文件写入权限设置
JS去除重复并统计数量的实现方法
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
Laravel怎么使用Intervention Image库处理图片上传和缩放
QQ浏览器网页版登录入口 个人中心在线进入
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
Laravel如何优化应用性能?(缓存和优化命令)
Laravel如何使用Livewire构建动态组件?(入门代码)
非常酷的网站设计制作软件,酷培ai教育官方网站?
图册素材网站设计制作软件,图册的导出方式有几种?
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
网页设计与网站制作内容,怎样注册网站?
黑客入侵网站服务器的常见手法有哪些?
智能起名网站制作软件有哪些,制作logo的软件?
使用spring连接及操作mongodb3.0实例
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
如何在IIS中新建站点并配置端口与物理路径?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
实例解析angularjs的filter过滤器
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
什么是javascript作用域_全局和局部作用域有什么区别?
打造顶配客厅影院,这份100寸电视推荐名单请查收

