Bootstrap-table自定義可編輯每頁顯示記錄數(shù)
寫在前面:
最近在做的person功能,由于后期系統(tǒng)中person人數(shù)較多,不利用查找person,故需求方將要求可以自己編輯每頁顯示的數(shù)目,而不是固定的寫死每頁顯示的數(shù)目。
下面先來看下bootsrap-table自帶的可切換每頁顯示記錄數(shù)的圖片

其實(shí)我感覺自帶的這個(gè)下拉框選擇每頁顯示的記錄數(shù),已經(jīng)很方便啦,只需要給幾個(gè)值就可以了,但是為了更加人性化與方便,就要改的呢,初步想的是,直接將此處的下拉框改為一個(gè)input輸入框就可以了。事實(shí)上,最后也是這么做的。
下面先大概說一下改造的思路吧。對(duì)于改造原有的html頁面的顯示,肯定是要利用瀏覽器的調(diào)試功能去查看此處的組件的組成;確定了原有的組件代碼后,將原有的顯示組件移除,拼接自己的html。
通過捕獲可知,此處的html代碼是一個(gè)大div,里面包含兩個(gè)小div,一個(gè)為上圖左邊顯示每頁記錄數(shù)的,另一個(gè)為右邊顯示多少頁的。那么現(xiàn)在就是要將左邊的div獲取到,然后移除,并拼接自己的html.
原表格左邊的html代碼圖:

從上圖可以看到,可以通過class來獲取到此div,故可以使用下面的代碼,現(xiàn)將原來的div的內(nèi)容移除,再append拼接自己的div內(nèi)容
//自定義可編輯每頁顯示的記錄數(shù)
$("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方法里。
下面是改造后的圖:

現(xiàn)在頁面顯示達(dá)到想要的效果了,那么如何每次點(diǎn)擊查詢的時(shí)候,去獲取到此值,并發(fā)送給后臺(tái)呢?
通過查看bootstrap-table.js的源碼可以大致得出,params.limit是經(jīng)過this.options.pageSize計(jì)算得來的,右邊的總頁數(shù)也是經(jīng)過this.options.pageSize計(jì)算得來的,那么現(xiàn)在的重點(diǎn)就是如何獲取到pageSize屬性,然后獲取到后,只需要將輸入框的值賦值給這個(gè)pageSize就可以了。
好在皇天不負(fù)有心人,經(jīng)過一個(gè)多小時(shí)的折磨后,測試出來在jsp頁面使用this.pageSize就可以獲取到了。hhhh.......(雖然還不是很明白為什么,待會(huì)寫完就去看看js中this的指向用法)?,F(xiàn)在可以給pageSize賦值了,但是頁面查詢每次刷新后,input輸入框也會(huì)被刷新還原,那怎么辦?
這里我做了一個(gè)隱藏的標(biāo)簽,用于每次將此值保存,當(dāng)再次刷新時(shí),再從隱藏的標(biāo)簽中拿值然后賦值給此輸入框,顯示出來,(由于每次刷新table此輸入框也會(huì)被刷新,故需要重新賦值)
做到這里也就差不多了,一些小細(xì)節(jié)可以根據(jù)自己的項(xiàng)目需求再去實(shí)現(xiàn)。下面,還是把主要的代碼部門貼上來,以免之后忘記了。。
<div style="height:380px;overflow-y: auto;"> <%--用于每次給輸入框接收或傳遞值--%> <span hidden id="hiddenPageSize">15</span> <table id="table"></table> </div>
總結(jié)
以上所述是小編給大家介紹的Bootstrap-table自定義可編輯每頁顯示記錄數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- bootstrap-table組合表頭的實(shí)現(xiàn)方法
- bootstrap-table實(shí)現(xiàn)表頭固定以及列固定的方法示例
- Bootstrap-table使用footerFormatter做統(tǒng)計(jì)列功能
- bootstrap-table實(shí)現(xiàn)服務(wù)器分頁的示例 (spring 后臺(tái))
- bootstrap-table+treegrid實(shí)現(xiàn)樹形表格
- bootstrap-table.js擴(kuò)展分頁工具欄(增加跳轉(zhuǎn)到xx頁)功能
- bootstrap-table formatter 使用vue組件的方法
- Node.js中Bootstrap-table的兩種分頁的實(shí)現(xiàn)方法
- Bootstrap table學(xué)習(xí)筆記(2) 前后端分頁模糊查詢
- bootstrap table 服務(wù)器端分頁例子分享
- Bootstrap table分頁問題匯總
- bootstrap-table后端分頁功能完整實(shí)例
相關(guān)文章
JavaScript面試技巧之?dāng)?shù)組的一些不low操作
這篇文章主要給大家介紹了關(guān)于JavaScript面試技巧之?dāng)?shù)組的一些不low操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
總結(jié)兩個(gè)Javascript的哈稀對(duì)象的一些編程技巧
總結(jié)兩個(gè)Javascript的哈稀對(duì)象的一些編程技巧...2007-04-04
js獲取html參數(shù)及向swf傳遞參數(shù)應(yīng)用介紹
HTML頁面是在客戶端執(zhí)行的,這樣要獲取參數(shù)必須使用客戶端腳本如JavaScript,在這點(diǎn)上與服務(wù)器端腳本獲取參數(shù)方式有所不同接下來將詳細(xì)介紹下感興趣的你可不要錯(cuò)過了哈2013-02-02
詳解小程序如何改變onLoad的執(zhí)行時(shí)機(jī)
這篇文章主要介紹了詳解小程序如何改變onLoad的執(zhí)行時(shí)機(jī),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
js定時(shí)調(diào)用方法成功后并停止調(diào)用示例
這篇文章主要介紹了js定時(shí)調(diào)用方法成功后并停止調(diào)用的實(shí)現(xiàn),需要的朋友可以參考下2014-04-04
js面向?qū)ο笾?、私有、靜態(tài)屬性和方法詳解
這篇文章主要詳細(xì)介紹了js面向?qū)ο笾?、私有、靜態(tài)屬性和方法,并附上詳細(xì)的示例,非常的細(xì)致全面,這里推薦給大家,有需要的小伙伴可以參考下2015-04-04
使用CSS+JavaScript或純js實(shí)現(xiàn)半透明遮罩效果的實(shí)例分享
這篇文章主要介紹了使用CSS+JavaScript或純js實(shí)現(xiàn)半透明遮罩效果的實(shí)例分享,編寫半透明遮罩層時(shí)要注意定位問題、不要滿屏遮罩,需要的朋友可以參考下2016-05-05

