jQuery 插件-使用jQuery Pagination实现无刷新分页

开发 前端
今天,我们主要看看简单的使用jQuery pagination这个插件来实现无刷新分页,使用jQuery pagination主要作用在于分页样式的显示,而无刷新的主要原理还是使用Ajax。下边我们一步一步看看使用jQuery、JSON、Ajax和微 软jQuery Template插件组合实现jQuery 无刷新分页,希望能给你一些帮助。

今天,我们主要看看简单的使用jQuery pagination这个插件来实现无刷新分页,使用jQuery pagination主要作用在于分页样式的显示,而无刷新的主要原理还是使用Ajax。下边我们一步一步看看使用jQuery、JSON、Ajax和微 软jQuery Template插件组合实现jQuery 无刷新分页,希望能给你一些帮助。

首先,我们引入jQuery文件、jQuery pagination文件和jQuery Templates文件,很多人可能还对jQuery Templates不太熟悉,你可以看看jQuery插件-微软 jQuery Templates微软 jQuery Templates插件的使用这两篇文章。

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
  2. <script src="http://www.jquery001.com/js/jquery.tmpl.js" type="text/javascript"></script> 
  3. <script src="http://www.jquery001.com/js/jquery.pagination.js" type="text/javascript"></script> 

接下来,先看看HTML标记,分别用来呈现数据项和分页样式显示,如下:

  1. <!--显示列表--> 
  2. <div id="content-left"></div> 
  3. <!--分页样式显示--> 
  4. <div id="Pagination" class="pagination"></div> 
  5. <!--jQuery Templates--> 
  6. <script id="Template" type="text/html"> 
  7. <div class="item"> 
  8.     <h3><a href="${Url}" target="_blank">${Title}</a></h3> 
  9.     <p>${Subject}</p> 
  10. </div> 
  11. </script> 

下边就需要取得我们所需要的数据了,如果你看过前两篇jQuery Templates的文章,你就会意识到我们需要返回javascript对象来进行数据的绑定,这里我们还是返回JSON。主要还是用拼串的形式最终返回如下JSON结构:

  1. var req={ 
  2.         "articlelist": 
  3.         [ 
  4.             {"Title":"文章标题1","Url":"文章Url1","Subject":"文章概要1"}, 
  5.             {"Title":"文章标题2","Url":"文章Url2","Subject":"文章概要2"}, 
  6.             {"Title":"文章标题3","Url":"文章Url3","Subject":"文章概要3"} 
  7.         ] 
  8.     }; 

为了方便很多新学习JSON的朋友,在这里给出点后台输出JSON的C#代码,如下:

  1. if (dt != null && dt.Rows.Count > 0) 
  2.     StringBuilder strResult = new StringBuilder(); 
  3.     strResult.Append("{\"articlelist\":["); 
  4.     foreach (DataRow dr in dt.Rows) 
  5.     { 
  6.         strResult.Append("{\"Title\":\"" + dr["Title"].ToString() + "\","); 
  7.         strResult.Append("\"Url\":\"" + dr["Url"].ToString() + "\","); 
  8.         strResult.Append("\"Subject\":\"" + dr["Subject"].ToString() + "\"},"); 
  9.     } 
  10.     //移除末尾',' 
  11.     strResult.Remove(strResult.Length - 1, 1); 
  12.     strResult.Append("]}"); 
  13.     //输出json 
  14.     Response.Write(strResult.ToString()); 
  15.     Response.End(); 

关于JSON本站中已经有很多次提到了,如果有不了解的可以找找。这样当我们使用"articlelist"时,它就相当于一个对象数组,使得我们很容易的能绑定数据。下边是前台代码:

  1. $(document).ready(function () { 
  2.     //TotalNum 总数 这里写死了 
  3.     var TotalNum = 200
  4.     //首次加载 
  5.     pageselectCallback(0); 
  6.     //分页事件 
  7.     $("#Pagination").pagination(200, { 
  8.         prev_text: "上一页", 
  9.         next_text: "下一页", 
  10.         num_edge_entries: 2, 
  11.         num_display_entries: 8, 
  12.         //回调 
  13.         callback: pageselectCallback 
  14.     }); 
  15.  
  16.     function pageselectCallback(page) { 
  17.         var result = ""
  18.         $.ajax({ 
  19.             type: "post", 
  20.             dataType: "json", 
  21.             url: "getdata.aspx", //请求的url 
  22.             data: { "page": parseInt(page + 1) }, 
  23.             success: function (req) { 
  24.                 //使用微软jQuery Templates绑定数据列表,实现了HTML与js分离,使得页面整洁 
  25.                 $("#content-left").html($("#Template").render(req.articlelist)); 
  26.             } 
  27.         }); 
  28.     } 
  29. }); 

这样,我们就使用jQuery pagination实现了无刷新分页,文中并没有过多的介绍jQuery pagination,而是将侧重点置于jQuery Templates的使用。因为本人觉得jQuery pagination还是很容易使用的,最终的效果可在Demo中看看。

原文链接:http://www.jquery001.com/use-jquery-pagination-to-fulfill-pagination.html

责任编辑:陈四芳 来源: jquery001.com
相关推荐

2009-06-26 15:17:27

jQuery

2012-08-08 13:50:28

jQuery

2013-07-29 14:28:43

JQueryJQuery实现分页分页程序代码

2012-04-05 09:50:11

jQuery

2013-12-02 15:36:17

jQuery插件

2009-06-18 15:49:31

jQuery插件

2012-04-12 10:19:08

Ajax.NET

2013-12-02 15:31:37

jQuery插件

2013-12-02 15:43:05

jQuery插件

2012-04-13 10:05:24

ASP.NET

2012-04-24 10:36:08

jQuery插件

2013-10-09 10:00:35

JQueryJQuery插件

2011-09-02 09:49:29

JQuery图片滚动

2013-12-02 15:10:56

jQuery插件

2013-12-02 15:21:30

jQuery插件

2013-12-02 14:53:20

jQuery插件

2009-06-26 16:12:08

ThickboxjQuery

2013-01-09 10:20:26

jQueryFlotjQuery插件

2011-08-25 09:30:22

2012-05-22 01:45:58

JavaScriptCSSXML
点赞
收藏

51CTO技术栈公众号