jQuery ajax分頁外掛程式執行個體代碼_jquery

來源:互聯網
上載者:User

推薦閱讀:jQuery外掛程式開發精品教程讓你的jQuery提升一個台階

既然說到基於jQuery的ajax分頁外掛程式,那我們就先看看主要的代碼結構:(我覺得對咱們程式員來說再優美的文字描述、介紹也

比不上代碼來得實在。)

  1、首先定義一個pager對象:

var sjPager = window.sjPager = {opts: {//預設屬性pageSize: ,preText: "pre",nextText: "next",firstText: "First",lastText: "Last",shiftingLeft: ,shiftingRight: ,preLeast: ,nextLeast: ,showFirst: true,showLast: true,url: "",type: "POST",dataType: "JSON",searchParam: {},beforeSend: null,success: null,complete: null,error: function () {alert("抱歉,請求出錯,請重新請求!");},},pagerElement: null,//分頁dom元素commonHtmlText: {//公用文本變數},init: function (obj, op) {//對象初始化},doPage: function (index, pageSize, searchParam) {//執行分頁方法},getTotalPage: function () {//擷取總頁數},createPreAndFirstBtn: function (pageTextArr) {//建立上一頁、首頁按鈕連結},createNextAndLastBtn: function (pageTextArr) {//建立下一頁、尾頁按鈕連結},createIndexBtn: function (pageTextArr) {//中間分頁索引按鈕連結},renderHtml: function (pageTextArr) {//渲染分頁控制項到頁面},createSpan: function (text, className) {//建立span},createIndexText: function (index, text) {//建立索引文本},jumpToPage: function () {//跳轉到}}

  對象包含了分頁的屬性及用到的方法,doPage()為分頁的核心方法。

  2、進行jQuery擴充

$.fn.sjAjaxPager = function (option) {return sjPager.init($(this), option);};

  3、外掛程式使用

<body><table id="dataTable" border="px"></table><div id="pager"></div></body> $(function() {$('#pager').sjAjaxPager({url: "Handler.ashx",pageSize: ,searchParam: {/** 如果有其他的查詢條件,直接在這裡傳入即可*/id: ,name:'test',},beforeSend: function () {},success: function (data) {/**返回的資料根據自己需要處理*/var tableStr = "<tr><td>Id</td><td>姓名</td><td>年齡</td></tr>";$.each(data.items, function(i,v) {tableStr += "<tr><td>" + v.Id + "</td><td>" + v.Name + "</td><td>" + v.Age + "</td></tr>";});$('#dataTable').html(tableStr);},complete: function () {}});})

  有沒有發現使用方式與直接使用ajax基本是一樣一樣的?

  最後我們可以看下出來的效果:(表格樣式沒有設定比較醜,分頁樣式自己也可以根據需要修改css檔案)

  F12開啟調試工具,點擊分頁查看發送的請求及響應:

  pageIndex和pageSize為外掛程式預設的參數,在後台可以直接在Request中擷取。特別需要注意的是外掛程式的響應也是需要遵循特定的格式{"total":0,"items":[]},如上圖中所示total代表資料總記錄數,items代表分頁的資料。

下面在來看一個jquery ajax分頁外掛程式的例子

對1.0版進行了重構,去掉了一些花銷的功能,最佳化了頁面樣式,現有功能:

1)、一次性把資料載入到頁面記憶體,在頁面進行分頁。
2)、使用jquery的ajax每次從伺服器取資料分頁。
3)、支援自訂分頁條樣式,外掛程式預設實現兩種樣式可供選擇。

<table id="table2" > <thead> <tr><th width="200px">網站名稱</th> <th width="100px">網址</th> <th width="100px">知名度</th> <th width="120px">訪問量</th> </tr> </thead> <tbody></tbody> </table> $("#table2").bigPage({ajaxData:{url:"ajax.php"}}); 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.