在加載頁面的時候發(fā)出一個請求,用ajax請求就可以,請求返回結(jié)果是獲取所需要的所有信息,存在一個js對象里
創(chuàng)新互聯(lián)是一家專業(yè)提供宣漢企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為宣漢眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。
//success是請求成功后的返回函數(shù),msg代表的是服務(wù)端的返回值,也就是你需要的那些信息
可以將這些信息存到ListUser里,然后再將list轉(zhuǎn)成JSONArray返回,msg就是返回值
var?dataObj;
$.ajax({
url:"yourservlet",
type:"POST",
data:"你請求的參數(shù),隨便填,只要后臺接收了然后調(diào)用業(yè)務(wù)層進行查詢返回結(jié)果就行",
success:function(msg){
dataObj=msg;
alert("返回成功");
}
});
//之后已經(jīng)獲取到了數(shù)據(jù)到瀏覽器,需要根據(jù)頁數(shù)來分頁,就是遍歷數(shù)組了,dataObj就是一個
json對象,根據(jù)你的每頁數(shù)量和頁數(shù)來獲取,這就是思路
一、分頁
分頁的基本思想是根據(jù)datatable的頁碼及每頁顯示的行數(shù),將數(shù)據(jù)從數(shù)據(jù)庫分段提出,然后再填充到表格中,以達到分頁的效果。
這里需要用到datatable插件的幾個屬性:
"sEcho":這個屬性需要原封不動地傳回給datatable,具體的作用我也不清楚,但是根據(jù)它值的變化情況來看,好像是一個操作次數(shù)的計數(shù)(之前我一直把它當(dāng)做是pageindex來用,結(jié)果發(fā)現(xiàn),不論我在datatable中是翻下一頁還是翻上一頁,它一直在增加。)
"iDisplayStart":這個屬性,根據(jù)字面意思理解,就是每段數(shù)據(jù)開始的行數(shù),比如第一頁的數(shù)據(jù)就是從0開始計,那么它就是0,每頁顯示的行數(shù)是10,那么第二頁的第一行的iDisplayStart就是10。
"iDisplayLength":這個屬性就是每頁顯示的行數(shù)。
然后是數(shù)據(jù)庫操作,只需要從數(shù)據(jù)庫查詢其中一段數(shù)據(jù),然后輸出出來,轉(zhuǎn)成JSON格式,讓datatable插件獲取。在網(wǎng)上可以找到很多分頁的方法,選擇了其中一種,使用row_number()的分頁的存儲過程。具體代碼如下(根據(jù)sql創(chuàng)建存儲過程模板):
存儲過程的兩個參數(shù),pageindex表示頁索引即當(dāng)前頁碼,不懂datatable有沒有這項屬性,所以是用計算的方法得來的,就是iDisplayStart/iDisplayLength+1。pagesize可以直接從datatable獲得。
服務(wù)端的代碼,我創(chuàng)建了一個datasource.ashx文件,代碼如下:
DataTableToObjects類的代碼如下:
需要注意的一點:iTotalRecords與iTotalDisplayRecords是兩個不同的值,是改變分頁欄顯示用的參數(shù),這里因為沒有考慮數(shù)據(jù)過濾功能,所以都設(shè)置成數(shù)據(jù)的總的行數(shù)。
然后是客戶端的代碼,與之前的差不多:
因為測試,所以只提取了表中的三個字段,并且關(guān)閉了數(shù)據(jù)過濾及排序功能,其中,"bLengthChange"可以設(shè)置成true,因為服務(wù)端會獲取datatable的iDisplayLenth參數(shù),即使每頁顯示數(shù)變化,數(shù)據(jù)也可以正常獲取。
這樣就實現(xiàn)了jquery.datatable插件的服務(wù)端分頁獲取數(shù)據(jù)。
jquery動態(tài)實現(xiàn)表格分頁的方法是利用自帶的分頁插件jQuery.page.js。
下面是使用方法:
$(".tcdPageCode").createPage({
? pageCount:10,
? current:1,
? backFn:function(p){
? ? ? //單擊回調(diào)方法,p是當(dāng)前頁碼
? }
});
pageCount:總頁數(shù)
current:當(dāng)前頁
實現(xiàn)分頁的tab如下:
div class="tcdPageCode"
span class="disabled"上一頁/span
span class="current"1/span
a href="javascript:;" class="tcdNumber"2/a
a href="javascript:;" class="tcdNumber"3/a
a href="javascript:;" class="tcdNumber"4/a
span.../span
a href="javascript:;" class="tcdNumber"6/aa href="javascript:;" class="nextPage"下一頁/a/div
實現(xiàn)效果:
當(dāng)前題目:jquery分頁,jquery分頁插件
文章URL:http://chinadenli.net/article40/dseoseo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站收錄、企業(yè)網(wǎng)站制作、軟件開發(fā)、網(wǎng)站排名、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)