寫(xiě)在前面:
在隨州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè)公司,隨州網(wǎng)站建設(shè)費(fèi)用合理。
最近在做的person功能,由于后期系統(tǒng)中person人數(shù)較多,不利用查找person,故需求方將要求可以自己編輯每頁(yè)顯示的數(shù)目,而不是固定的寫(xiě)死每頁(yè)顯示的數(shù)目。
下面先來(lái)看下bootsrap-table自帶的可切換每頁(yè)顯示記錄數(shù)的圖片
其實(shí)我感覺(jué)自帶的這個(gè)下拉框選擇每頁(yè)顯示的記錄數(shù),已經(jīng)很方便啦,只需要給幾個(gè)值就可以了,但是為了更加人性化與方便,就要改的呢,初步想的是,直接將此處的下拉框改為一個(gè)input輸入框就可以了。事實(shí)上,最后也是這么做的。
下面先大概說(shuō)一下改造的思路吧。對(duì)于改造原有的html頁(yè)面的顯示,肯定是要利用瀏覽器的調(diào)試功能去查看此處的組件的組成;確定了原有的組件代碼后,將原有的顯示組件移除,拼接自己的html。
通過(guò)捕獲可知,此處的html代碼是一個(gè)大div,里面包含兩個(gè)小div,一個(gè)為上圖左邊顯示每頁(yè)記錄數(shù)的,另一個(gè)為右邊顯示多少頁(yè)的。那么現(xiàn)在就是要將左邊的div獲取到,然后移除,并拼接自己的html.
原表格左邊的html代碼圖:
從上圖可以看到,可以通過(guò)class來(lái)獲取到此div,故可以使用下面的代碼,現(xiàn)將原來(lái)的div的內(nèi)容移除,再append拼接自己的div內(nèi)容
//自定義可編輯每頁(yè)顯示的記錄數(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+'" /> records per page');
注意,此段代碼不是什么地方都可以放的,由于是在table被加載成功后,才去改變,故此代碼可以放在onLoadSuccess方法里。
下面是改造后的圖:
現(xiàn)在頁(yè)面顯示達(dá)到想要的效果了,那么如何每次點(diǎn)擊查詢的時(shí)候,去獲取到此值,并發(fā)送給后臺(tái)呢?
通過(guò)查看bootstrap-table.js的源碼可以大致得出,params.limit是經(jīng)過(guò)this.options.pageSize計(jì)算得來(lái)的,右邊的總頁(yè)數(shù)也是經(jīng)過(guò)this.options.pageSize計(jì)算得來(lái)的,那么現(xiàn)在的重點(diǎn)就是如何獲取到pageSize屬性,然后獲取到后,只需要將輸入框的值賦值給這個(gè)pageSize就可以了。
好在皇天不負(fù)有心人,經(jīng)過(guò)一個(gè)多小時(shí)的折磨后,測(cè)試出來(lái)在jsp頁(yè)面使用this.pageSize就可以獲取到了。hhhh.......(雖然還不是很明白為什么,待會(huì)寫(xiě)完就去看看js中this的指向用法)?,F(xiàn)在可以給pageSize賦值了,但是頁(yè)面查詢每次刷新后,input輸入框也會(huì)被刷新還原,那怎么辦?
這里我做了一個(gè)隱藏的標(biāo)簽,用于每次將此值保存,當(dāng)再次刷新時(shí),再?gòu)碾[藏的標(biāo)簽中拿值然后賦值給此輸入框,顯示出來(lái),(由于每次刷新table此輸入框也會(huì)被刷新,故需要重新賦值)
做到這里也就差不多了,一些小細(xì)節(jié)可以根據(jù)自己的項(xiàng)目需求再去實(shí)現(xiàn)。下面,還是把主要的代碼部門(mén)貼上來(lái),以免之后忘記了。。
<div > <%--用于每次給輸入框接收或傳遞值--%> <span hidden id="hiddenPageSize">15</span> <table id="table"></table> </div>
總結(jié)
以上所述是小編給大家介紹的Bootstrap-table自定義可編輯每頁(yè)顯示記錄數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!
本文標(biāo)題:Bootstrap-table自定義可編輯每頁(yè)顯示記錄數(shù)
文章路徑:http://chinadenli.net/article0/jgipio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、外貿(mào)建站、網(wǎng)站維護(hù)、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)