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基础整理1
Dec 06 Javascript
当某个文本框成为焦点时即清除文本框内容
Apr 28 Javascript
JavaScript利用正则表达式去除日期中的“-”
Jul 01 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
Sep 20 Javascript
BootStrap Validator使用注意事项(必看篇)
Sep 28 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
Oct 27 Javascript
jQuery实现弹出窗口弹出div层的实例代码
Jan 09 Javascript
JavaScript实现时钟滴答声效果
Jan 29 Javascript
jQuery实现获取隐藏div高度的方法示例
Feb 09 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
Dec 25 Javascript
基于vue 添加axios组件,解决post传参数为null的问题
Mar 05 Javascript
vue-vuex中使用commit提交mutation来修改state的方法详解
Sep 16 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文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
PHP array_multisort() 函数的深入解析
2013/06/20 PHP
两个php日期控制类实例
2014/12/09 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
PHP常用的排序和查找算法
2015/08/06 PHP
理解php依赖注入和控制反转
2016/05/11 PHP
PHP类型约束用法示例
2016/09/28 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
js实现两个值相加alert出来精确到指定位
2013/09/25 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
jquery引入外部CDN 加载失败则引入本地jq库
2018/05/23 jQuery
Vue自定义toast组件的实例代码
2018/08/15 Javascript
详解搭建es6+devServer简单开发环境
2018/09/25 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
python二叉树的实现实例
2013/11/21 Python
使用Python脚本实现批量网站存活检测遇到问题及解决方法
2016/10/11 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
flask实现验证码并验证功能
2019/12/05 Python
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
建筑人员岗位职责
2013/12/25 职场文书
爱心捐款倡议书
2014/04/14 职场文书
协议书范本
2014/04/23 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
企业战略合作意向书
2015/05/08 职场文书
父亲节感言
2015/08/03 职场文书
教师病假条范文
2015/08/17 职场文书
2016大学生形势与政策心得体会
2016/01/12 职场文书
PHP设计模式(观察者模式)
2021/07/07 PHP
Golang中channel的原理解读(推荐)
2021/10/16 Golang
win11无线投屏在哪设置? win11无线投屏功能的使用方法
2022/04/08 数码科技