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—window对象使用示例
Dec 09 Javascript
JS动态修改iframe高度和宽度的方法
Apr 01 Javascript
js实现的动画导航菜单效果代码
Sep 10 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
Jan 25 Javascript
深入剖析JavaScript面向对象编程
Jul 12 Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 Javascript
jQuery遮罩层实例讲解
May 11 jQuery
vue实现全选、反选功能
Nov 17 Javascript
vue中for循环更改数据的实例代码(数据变化但页面数据未变)
Sep 15 Javascript
vue.js中使用echarts实现数据动态刷新功能
Apr 16 Javascript
对于防止按钮重复点击的尝试详解
Apr 22 Javascript
jQuery位置选择器用法实例分析
Jun 28 jQuery
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+ACCESS 文章管理程序代码
2010/06/21 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
jQuery 添加/移除CSS类实现代码
2010/02/11 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
javascript避免数字计算精度误差的方法详解
2014/03/05 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
javascript制作照片墙及制作过程中出现的问题
2016/04/04 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
JS实现左右无缝轮播图代码
2016/05/01 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
2017/01/17 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
pyqt4教程之实现windows窗口小示例分享
2014/03/07 Python
Python version 2.7 required, which was not found in the registry
2014/08/26 Python
python中MySQLdb模块用法实例
2014/11/10 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
为什么str(float)在Python 3中比Python 2返回更多的数字
2018/10/16 Python
Python super()方法原理详解
2020/03/31 Python
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
应聘护士自荐信
2013/10/21 职场文书
程序员岗位职责
2013/11/11 职场文书
应征英语教师求职信
2013/11/27 职场文书
丧事主持词大全
2014/04/02 职场文书
《他得的红圈圈最多》教学反思
2014/04/24 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
解决linux下redis数据库overcommit_memory问题
2022/02/24 Redis
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript