jQuery插件pagination实现无刷新分页


Posted in Javascript onMay 21, 2016

这篇文章我们主要看看简单的使用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的使用,但也希望对大家有一定的帮助。

Javascript 相关文章推荐
jQuery中:button选择器用法实例
Jan 04 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
Node.js刷新session过期时间的实现方法推荐
May 18 Javascript
使用Node.js给图片加水印的方法
Nov 15 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
深入理解JavaScript 中的匿名函数((function() {})();)与变量的作用域
Aug 28 Javascript
浅谈JavaScript 代码整洁之道
Oct 23 Javascript
Javascript数组方法reduce的妙用之处分享
Jun 10 Javascript
javascript定时器的简单应用示例【控制方块移动】
Jun 17 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
vue 避免变量赋值后双向绑定的操作
Nov 07 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 #Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 #Javascript
jQuery EasyUI Pagination实现分页的常用方法
May 21 #Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 #Javascript
在JavaScript中模拟类(class)及类的继承关系
May 20 #Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 #Javascript
JavaScript中用let语句声明作用域的用法讲解
May 20 #Javascript
You might like
PHP中实现图片的锐化
2006/10/09 PHP
php 购物车的例子
2009/05/04 PHP
jquery 双色表格实现代码
2009/12/08 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
加速IE的Javascript document输出的方法
2010/12/02 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
浅谈node中的exports与module.exports的关系
2017/08/01 Javascript
在vue项目中优雅的使用SVG的方法实例详解
2018/12/03 Javascript
Element 默认勾选表格 toggleRowSelection的实现
2019/09/04 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
2019/09/17 Javascript
ES6 十大特性简介
2020/12/09 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
python实现图片处理和特征提取详解
2017/11/13 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
Pycharm新建模板默认添加个人信息的实例
2019/07/15 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
keras.layer.input()用法说明
2020/06/16 Python
Hotels.com韩国:海外国内旅行所需的酒店和住宿预订网站
2020/05/08 全球购物
PHP面试题及答案一
2012/06/18 面试题
医学生自荐信范文
2013/12/03 职场文书
会议接待欢迎词
2014/01/12 职场文书
党务公开方案
2014/05/06 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
三国演义读书笔记
2015/06/25 职场文书
信息简报范文
2015/07/21 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书