基于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 相关文章推荐
js 颜色选择器(兼容firefox)
Mar 05 Javascript
一个选择最快的服务器转向代码
Apr 27 Javascript
Javascript 面向对象 重载
May 13 Javascript
jquery键盘事件介绍
Jan 31 Javascript
ajax如何实现页面局部跳转与结果返回
Aug 24 Javascript
jQuery图片渐变特效的简单实现
Jun 25 Javascript
AngularJS 文件上传控件 ng-file-upload详解
Jan 13 Javascript
详解vue2路由vue-router配置(懒加载)
Apr 08 Javascript
vue中锚点的三种方法
Jul 06 Javascript
深度解读vue-resize的具体用法
Jul 08 Javascript
微信小程序实现选项卡滑动切换
Oct 22 Javascript
实用的 vue tags 创建缓存导航的过程实现
Dec 03 Vue.js
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
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
php去除HTML标签实例
2013/11/06 PHP
CSS+jQuery实现的一个放大缩小动画效果
2013/09/24 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
Javascript中Promise的四种常用方法总结
2017/07/14 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
三种Webpack打包方式(小结)
2018/09/19 Javascript
浅谈angular2子组件的事件传递(任意组件事件传递)
2018/09/30 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
python保存网页图片到本地的方法
2018/07/24 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
儿科护士自我鉴定
2013/10/14 职场文书
注塑工厂厂长岗位职责
2013/12/02 职场文书
高三自我评价
2014/02/01 职场文书
幼儿园教师教学反思
2014/02/06 职场文书
法人委托书
2014/07/31 职场文书
乡镇组织委员个人整改措施
2014/09/16 职场文书
2014年小学美术工作总结
2014/12/20 职场文书