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 相关文章推荐
javascript 获取图片颜色
Apr 05 Javascript
Javascript中的getUTCHours()方法使用详解
Jun 10 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
May 20 Javascript
浅析BootStrap Treeview的简单使用
Oct 12 Javascript
jQuery时间日期三级联动(推荐)
Nov 27 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
angular 未登录状态拦截路由跳转的方法
Oct 09 Javascript
javascript+HTML5 canvas绘制时钟功能示例
May 15 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
详解如何修改 node_modules 里的文件
May 22 Javascript
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
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
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
PHP PDOStatement::columnCount讲解
2019/01/30 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
js Date概念详细介绍
2013/11/22 Javascript
浏览器缩放检测的js代码
2014/09/28 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
几种tab切换详解
2017/02/03 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
vue上传图片组件编写代码
2017/07/26 Javascript
vue-cli结合Element-ui基于cropper.js封装vue实现图片裁剪组件功能
2018/03/01 Javascript
基于Vue中点击组件外关闭组件的实现方法
2018/03/06 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
监听element-ui table滚动事件的方法
2019/03/26 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
极简的Python入门指引
2015/04/01 Python
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
药店主任岗位责任制
2014/02/10 职场文书
法人代表身份证明书及授权委托书
2014/09/16 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
2014年财务科工作总结
2014/11/11 职场文书
大学升旗仪式主持词
2015/07/04 职场文书