jQuery插件pagination实现无刷新分页
来源: 阅读:985 次 日期:2016-06-25 14:14:57
温馨提示: 小编为您整理了“jQuery插件pagination实现无刷新分页”,方便广大网友查阅!

本文我们一步一步看看使用jQuery、JSON、Ajax和微软jQuery Template插件组合实现jQuery无刷新分页,希望能给你一些帮助,感兴趣的朋友可以参考一下

这篇文章我们主要看看简单的使用jQuery pagination这个插件来实现无刷新分页,使用jQuery pagination主要作用在于分页样式的显示,而无刷新的主要原理还是使用Ajax,具体看下文:

首先,我们引入jQuery文件、jQuery pagination文件和jQuery Templates文件。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 

<script src="http://www.jquery001.com/js/jquery.tmpl.js" type="text/javascript"></script> 

<script src="http://www.jquery001.com/js/jquery.pagination.js" type="text/javascript"></script> 

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

<!--显示列表--> 

<div id="content-left"></div> 

<!--分页样式显示--> 

<div id="Pagination" class="pagination"></div> 

<!--jQuery Templates--> 

<script id="Template" type="text/html"> 

<div class="item"> 

  <h3><a href="${Url}" target="_blank">${Title}</a></h3> 

  <p>${Subject}</p> 

</div> 

</script> 

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

var req={ 

    "articlelist": 

    [ 

      {"Title":"文章标题1","Url":"文章Url1","Subject":"文章概要1"}, 

      {"Title":"文章标题2","Url":"文章Url2","Subject":"文章概要2"}, 

      {"Title":"文章标题3","Url":"文章Url3","Subject":"文章概要3"} 

    ] 

  }; 

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

if (dt != null && dt.Rows.Count > 0) 

  StringBuilder strResult = new StringBuilder(); 

  strResult.Append("{\"articlelist\":["); 

  foreach (DataRow dr in dt.Rows) 

  { 

    strResult.Append("{\"Title\":\"" + dr["Title"].ToString() + "\","); 

    strResult.Append("\"Url\":\"" + dr["Url"].ToString() + "\","); 

    strResult.Append("\"Subject\":\"" + dr["Subject"].ToString() + "\"},"); 

  } 

  //移除末尾',' 

  strResult.Remove(strResult.Length - 1, 1); 

  strResult.Append("]}"); 

  //输出json 

  Response.Write(strResult.ToString()); 

  Response.End(); 

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

$(document).ready(function () { 

  //TotalNum 总数 这里写死了 

  var TotalNum = 200; 

  //首次加载 

  pageselectCallback(0); 

  //分页事件 

  $("#Pagination").pagination(200, { 

    prev_text: "上一页", 

    next_text: "下一页", 

    num_edge_entries: 2, 

    num_display_entries: 8, 

    //回调 

    callback: pageselectCallback 

  }); 

  function pageselectCallback(page) { 

    var result = ""; 

    $.ajax({ 

      type: "post", 

      dataType: "json", 

      url: "getdata.aspx", //请求的url 

      data: { "page": parseInt(page + 1) }, 

      success: function (req) { 

        //使用微软jQuery Templates绑定数据列表,实现了HTML与js分离,使得页面整洁 

        $("#content-left").html($("#Template").render(req.articlelist)); 

      } 

    }); 

  } 

}); 

这样,我们就使用jQuery pagination实现了无刷新分页,文中并没有过多的介绍jQuery pagination,而是将侧重点置于jQuery Templates的使用,但也希望对大家有一定的帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map