Bootstrap-table自定义可编辑每页显示记录数


Posted in Javascript onSeptember 07, 2018

写在前面:

最近在做的person功能,由于后期系统中person人数较多,不利用查找person,故需求方将要求可以自己编辑每页显示的数目,而不是固定的写死每页显示的数目。

下面先来看下bootsrap-table自带的可切换每页显示记录数的图片

Bootstrap-table自定义可编辑每页显示记录数

其实我感觉自带的这个下拉框选择每页显示的记录数,已经很方便啦,只需要给几个值就可以了,但是为了更加人性化与方便,就要改的呢,初步想的是,直接将此处的下拉框改为一个input输入框就可以了。事实上,最后也是这么做的。

下面先大概说一下改造的思路吧。对于改造原有的html页面的显示,肯定是要利用浏览器的调试功能去查看此处的组件的组成;确定了原有的组件代码后,将原有的显示组件移除,拼接自己的html。

通过捕获可知,此处的html代码是一个大div,里面包含两个小div,一个为上图左边显示每页记录数的,另一个为右边显示多少页的。那么现在就是要将左边的div获取到,然后移除,并拼接自己的html.

原表格左边的html代码图:

Bootstrap-table自定义可编辑每页显示记录数

 从上图可以看到,可以通过class来获取到此div,故可以使用下面的代码,现将原来的div的内容移除,再append拼接自己的div内容

//自定义可编辑每页显示的记录数
    $("div[class='pull-left pagination-detail']").empty();

    $("div[class='pull-left pagination-detail']").append('<span>Total rows</span>  ');
    $("div[class='pull-left pagination-detail']").append('<span id="totalCount">'+data.total+'</span>;  ');
    $("div[class='pull-left pagination-detail']").append('<input id="pageSize" name="pageSize" value="'+temp+'" style="text-align:center;width:30px"/>  records per page');

注意,此段代码不是什么地方都可以放的,由于是在table被加载成功后,才去改变,故此代码可以放在onLoadSuccess方法里。

下面是改造后的图:

Bootstrap-table自定义可编辑每页显示记录数

 

现在页面显示达到想要的效果了,那么如何每次点击查询的时候,去获取到此值,并发送给后台呢?

通过查看bootstrap-table.js的源码可以大致得出,params.limit是经过this.options.pageSize计算得来的,右边的总页数也是经过this.options.pageSize计算得来的,那么现在的重点就是如何获取到pageSize属性,然后获取到后,只需要将输入框的值赋值给这个pageSize就可以了。

好在皇天不负有心人,经过一个多小时的折磨后,测试出来在jsp页面使用this.pageSize就可以获取到了。hhhh.......(虽然还不是很明白为什么,待会写完就去看看js中this的指向用法)。现在可以给pageSize赋值了,但是页面查询每次刷新后,input输入框也会被刷新还原,那怎么办?

这里我做了一个隐藏的标签,用于每次将此值保存,当再次刷新时,再从隐藏的标签中拿值然后赋值给此输入框,显示出来,(由于每次刷新table此输入框也会被刷新,故需要重新赋值)

做到这里也就差不多了,一些小细节可以根据自己的项目需求再去实现。下面,还是把主要的代码部门贴上来,以免之后忘记了。。

<div style="height:380px;overflow-y: auto;">
 <%--用于每次给输入框接收或传递值--%>
 <span hidden id="hiddenPageSize">15</span>
 <table id="table"></table>
 </div>

总结

以上所述是小编给大家介绍的Bootstrap-table自定义可编辑每页显示记录数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 未结束的字符串常量常见解决方法
Jan 24 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
Oct 17 Javascript
jquery实现盒子下拉效果示例代码
Sep 12 Javascript
jQuery源码解读之removeAttr()方法分析
Feb 20 Javascript
JavaScript实现给按钮加上双重动作的方法
Aug 14 Javascript
非常实用的js验证框架实现源码 附原理方法
Jun 08 Javascript
基于jQuery实现淡入淡出效果轮播图
Jul 31 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
Jul 24 Javascript
js微信分享接口调用详解
Jul 23 Javascript
分享一款超好用的JavaScript 打包压缩工具
Apr 26 Javascript
Javascript 模拟mvc实现点餐程序案例详解
Dec 24 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
Sep 07 #Javascript
jQuery插件实现的日历功能示例【附源码下载】
Sep 07 #jQuery
vue利用v-for嵌套输出多层对象,分别输出到个表的方法
Sep 07 #Javascript
Vue中使用sass实现换肤功能
Sep 07 #Javascript
jQuery中each遍历的三种方法实例分析
Sep 07 #jQuery
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 #Javascript
Vue2.0 v-for filter列表过滤功能的实现
Sep 07 #Javascript
You might like
浅析PHP文件下载原理
2014/12/25 PHP
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
Eclipse下jQuery文件报错出现错误提示红叉
2014/01/13 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
微信小程序可滑动周日历组件使用详解
2019/10/21 Javascript
vue移动端使用canvas签名的实现
2020/01/15 Javascript
Vue的双向数据绑定实现原理解析
2020/02/17 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
python选择排序算法实例总结
2015/07/01 Python
python使用插值法画出平滑曲线
2018/12/15 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
英国顶级水晶珠宝零售商之一:Tresor Paris
2019/04/27 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
中科创达面试题
2016/12/28 面试题
怎样写好自荐信和推荐信
2013/12/26 职场文书
幼儿园中班评语大全
2014/04/17 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
区级文明单位申报材料
2014/05/15 职场文书
个人合伙协议书范本
2014/10/14 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
2015年度招聘工作总结
2015/05/28 职场文书
教师理论学习心得体会
2016/01/21 职场文书
vscode中使用npm安装babel的方法
2021/08/02 Javascript
分享MySQL常用 内核 Debug 几种常见方法
2022/03/17 MySQL