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 相关文章推荐
跨域表单提交状态的变相判断代码
Nov 12 Javascript
用javascript获取当页面上鼠标光标位置和触发事件的对象的代码
Dec 09 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
Dec 02 Javascript
javascript event 事件解析
Jan 31 Javascript
简单选项卡 js和jquery制作方法分享
Feb 26 Javascript
JavaScript基础知识学习笔记
Dec 02 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
jquery实现多屏多图焦点图切换特效的方法
May 04 Javascript
jQuery多条件筛选如何实现
Nov 04 Javascript
js鼠标按键事件和键盘按键事件用法实例汇总
Oct 03 Javascript
react 实现页面代码分割、按需加载的方法
Apr 03 Javascript
JS闭包原理及其使用场景解析
Dec 03 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实现长文章分页实例代码(附源码)
2016/02/03 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
js实现表格字段排序
2014/02/19 Javascript
jquery常用操作小结
2014/07/21 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
javascript实现PC网页里的拖拽效果
2016/03/14 Javascript
node.js实现端口转发
2016/04/14 Javascript
移动端横屏的JS代码(beta)
2016/05/16 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
基于Node.js搭建hexo博客过程详解
2019/06/25 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
django站点管理详解
2017/12/12 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
解决python matplotlib imshow无法显示的问题
2018/05/24 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
2015/07/30 面试题
工作人员思想汇报
2014/01/09 职场文书
大四学生思想汇报
2014/01/13 职场文书
学生思想表现的评语
2014/01/30 职场文书
护士在校生自荐信
2014/02/01 职场文书
贷款担保书范文
2014/05/13 职场文书
美术社团活动总结
2014/06/27 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
2014年林业工作总结
2014/12/05 职场文书
男方家长婚礼致辞
2015/07/27 职场文书
比较node.js和Deno
2021/04/27 Javascript
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers