基于Jquery+Ajax+Json实现分页显示附效果图


Posted in Javascript onJuly 30, 2014

1.后台action产生json数据。

List blackList = blackService.getBlackInfoList(mobileNum, gatewayid, startDate, endDate); 
int totalRows = blackList.size(); 
StringBuffer sb = new StringBuffer(); 
sb.append("{\"totalCount\":\""+totalRows+"\","); 
sb.append("\"jsonRoot\":["); 
for (int i=0;i<blackList.size();i++) { 
LBlack blackInfo = (LBlack)blackList.get(i); 
sb.append("{\"id\":\""+ blackInfo.getId()); 
sb.append("\","); 
sb.append("\"mobile\":\""+ blackInfo.getMobile()); 
sb.append("\","); 
sb.append("\"province\":\""+ blackInfo.getProvince()); 
sb.append("\","); 
sb.append("\"gateway\":\""+ blackInfo.getGateway()); 
sb.append("\","); 
sb.append("\"insertTime\":\""+ blackInfo.getInsertTime()); 
sb.append("\","); 
sb.append("\"remark\":\""+ blackInfo.getRemark()); 
sb.append("\""); 
sb.append("},"); 
} 
sb.deleteCharAt(sb.lastIndexOf(",")); // 删去最后一个逗号 
sb.append("]}"); 

HttpServletResponse response = ServletActionContext.getResponse(); 
response.setContentType("text/plain"); 
response.getWriter().print(sb);

2.struts.xml相关配置

<action name="blackList" class="blackAction" method="blackList"> 
<!--plaintext用于显示页面原始代码的结果类型--> 
<result type="plainText"> 
<param name="charSet">UTF-8</param> 
<param name="location">/WEB-INF/jsp/manage/black.jsp</param> 
</result> 
</action>

3.js获取json数据分页显示

function getJSONData(pn) { 
// alert(pn); 
$.getJSON("blackList.ce", function(data) { 
var totalCount = data.totalCount; // 总记录数 
var pageSize = 10; // 每页显示几条记录 
var pageTotal = Math.ceil(totalCount / pageSize); // 总页数 
var startPage = pageSize * (pn - 1); 
var endPage = startPage + pageSize - 1; 
var $ul = $("#json-list"); 
$ul.empty(); 
for (var i = 0; i < pageSize; i++) { 
$ul.append('<li class="li-tag"></li>'); 
} 
var dataRoot = data.jsonRoot; 
if (pageTotal == 1) { // 当只有一页时 
for (var j = 0; j < totalCount; j++) { 
$(".li-tag").eq(j).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>") 
.append("<span class='col2'>" + parseInt(j + 1) 
+ "</span>").append("<span class='col3'>" + dataRoot[j].mobile 
+ "</span>").append("<span class='col4'>" + dataRoot[j].province 
+ "</span>").append("<span class='col5'>" + dataRoot[j].gateway 
+ "</span>").append("<span class='col6'>" + dataRoot[j].insertTime 
+ "</span>").append("<span class='col7'>" + dataRoot[j].remark 
+ "</span>") 
} 
} else { 
for (var j = startPage, k = 0; j < endPage, k < pageSize; j++, k++) { 
if( j == totalCount){ 
break; // 当遍历到最后一条记录时,跳出循环 
} 
$(".li-tag").eq(k).append("<span class='col1'><input type='checkbox' value='"+parseInt(j + 1)+"'/></span>") 
.append("<span class='col2'>" + parseInt(j + 1) 
+ "</span>").append("<span class='col3'>" + dataRoot[j].mobile 
+ "</span>").append("<span class='col4'>" + dataRoot[j].province 
+ "</span>").append("<span class='col5'>" + dataRoot[j].gateway 
+ "</span>").append("<span class='col6'>" + dataRoot[j].insertTime 
+ "</span>").append("<span class='col7'>" + dataRoot[j].remark 
+ "</span>") 
} 
} 
$(".page-count").text(pageTotal); 
}) 
} 
function getPage() { 
$.getJSON("blackList.ce", function(data) { 
pn = 1; 
var totalCount = data.totalCount; // 总记录数 
var pageSize = 10; // 每页显示几条记录 
var pageTotal = Math.ceil(totalCount / pageSize); // 总页数 
$("#next").click(function() { 
if (pn == pageTotal) { 
alert("后面没有了"); 
pn = pageTotal; 
} else { 
pn++; 
gotoPage(pn); 
} 
}); 
$("#prev").click(function() { 
if (pn == 1) { 
alert("前面没有了"); 
pn = 1; 
} else { 
pn--; 
gotoPage(pn); 
} 
}) 
$("#firstPage").click(function() { 
pn = 1; 
gotoPage(pn); 
}); 
$("#lastPage").click(function() { 
pn = pageTotal; 
gotoPage(pn); 
}); 
$("#page-jump").click(function(){ 
if($(".page-num").val() <= pageTotal && $(".page-num").val() != ''){ 
pn = $(".page-num").val(); 
gotoPage(pn); 
}else{ 
alert("您输入的页码有误!"); 
$(".page-num").val('').focus(); 
} 
}) 
$("#firstPage").trigger("click"); 

}) 
} 
function gotoPage(pn) { 
// alert(pn); 
$(".current-page").text(pn); 
getJSONData(pn) 
} 

$(function() { 
getPage(); 
})

基于Jquery+Ajax+Json实现分页显示附效果图

Javascript 相关文章推荐
Javascript实现获取窗口的大小和位置代码分享
Dec 04 Javascript
JavaScript中constructor()方法的使用简介
Jun 05 Javascript
Node.js+Express配置入门教程
May 19 Javascript
JavaScript跨域调用基于JSON的RESTful API
Jul 09 Javascript
Node.js 实现简单小说爬虫实例
Nov 18 Javascript
jQuery序列化表单成对象的简单实现
Nov 29 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
Mar 23 jQuery
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
浅谈vue中关于checkbox数据绑定v-model指令的个人理解
Nov 14 Javascript
Vue双向数据绑定(MVVM)的原理
Oct 03 Javascript
Nuxt.js 静态资源和打包的操作
Nov 06 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 #Javascript
jQuery修改CSS伪元素属性的方法
Jul 30 #Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 #Javascript
浅析Node在构建超媒体API中的作用
Jul 30 #Javascript
JS实现图片无间断滚动代码汇总
Jul 30 #Javascript
使用jquery.upload.js实现异步上传示例代码
Jul 29 #Javascript
js动态添加onclick事件可传参数与不传参数
Jul 29 #Javascript
You might like
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
Span元素的width属性无效果原因及解决方案
2010/01/15 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
兼容主流浏览器的iframe自适应高度js脚本
2014/01/10 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
利用JavaScript判断浏览器类型及版本
2016/08/23 Javascript
vue实现ToDoList简单实例
2017/02/07 Javascript
js仿QQ邮箱收件人选择与搜索功能
2017/02/10 Javascript
Node做中转服务器转发接口
2017/10/18 Javascript
vue-cli中打包图片路径错误的解决方法
2017/10/26 Javascript
javascript实现手动点赞效果
2019/04/09 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
Python自定义主从分布式架构实例分析
2016/09/19 Python
使用python爬虫获取黄金价格的核心代码
2018/06/13 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
python-xpath获取html文档的部分内容
2020/03/06 Python
Nike瑞典官方网站:Nike.com (SE)
2018/11/26 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
什么是Linux虚拟文件系统VFS
2015/08/25 面试题
后勤采购员岗位职责
2013/12/19 职场文书
超市重阳节活动方案
2014/02/10 职场文书
成立公司计划书
2014/05/07 职场文书
买房子个人收入证明
2014/10/12 职场文书
幼儿园教师师德表现自我评价
2015/03/05 职场文书
挂职锻炼工作总结2015
2015/05/28 职场文书
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js
Go语言编译原理之源码调试
2022/08/05 Golang