纯js写的分页表格数据为json串


Posted in Javascript onFebruary 18, 2014

什么也不说了,直接上代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 
<%@ taglib prefix="s" uri="/struts-tags" %> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<base href="<%=basePath%>"> 
<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0"> 
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
<meta http-equiv="description" content="This is my page"> 
<title>分页</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<script type="text/javascript"> 
var tableData = [{"C0":"临夏州_康乐县","C1":190893.39,"C2":24544.65,"AREA_ID":"930013005"},{"C0":"临夏州_永靖县","C1":368900.35,"C2":40592.19,"AREA_ID":"930013006"},{"C0":"兰州市_东岗分局","C1":88.48,"C2":126.4,"AREA_ID":"930013106"},{"C0":"临夏州_临夏县","C1":107337.9,"C2":20612.1,"AREA_ID":"930013008"},{"C0":"临夏州_广河县","C1":69738.07,"C2":34894.44,"AREA_ID":"930013003"},{"C0":"临夏州_和政县","C1":46622.96,"C2":20954.97,"AREA_ID":"930013002"},{"C0":"临夏州_东乡县","C1":96021.84,"C2":16725.63,"AREA_ID":"930013004"},{"C0":"临夏州_临夏市中心","C1":1845311.12,"C2":129478.93,"AREA_ID":"930013001"},{"C0":"天水市_秦州区","C1":0,"C2":0,"AREA_ID":"930013801"},{"C0":"临夏州_积石山","C1":256181.79,"C2":15185.98,"AREA_ID":"930013007"},{"C0":"酒泉_肃州区","C1":264312,"C2":402.6,"AREA_ID":"930013701"}]; 
var columns = [{"cid":"C0","ctext":"区县"},{"cid":"C1","ctext":"客户总收入"},{"cid":"C2","ctext":"当月出账费用"}]; 
/** 
page:页码 
pageSize:每页的记录条数 
此方法除了传入page和pageSize之外,还应知道的有三个参数: 
一、表的全部数据,json串格式,可通过action查询数据库得到。 
二、表头所对应的列的key及名称,也是json串格式 
三、表所对应的id 
注:此处只是适合表头只有一行,且事先写好的情况。您可以根据需要改一下,逻辑思路就是这样,欢迎批评指正。 
*/ 
function splitPage(page,pageSize){ 
var ptable = document.getElementById("page_table"); 
var num = ptable.rows.length;//table.rows返回表格中包含的所有行,此处假设表由表头1行和表体N行组成 
//alert(num); 
//清除tbody 
for(var i=num-1;i>0;i--){ 
ptable.deleteRow(i); 
} 
var totalNums = tableData.length;//总行数 
var totalPage = Math.ceil(totalNums/pageSize);//总页数 
var begin = (page-1)*pageSize;//页起始位置(包括) 
var end = page*pageSize;//页结束位置(不包括) 
end = end>totalNums?totalNums:end; 
//向tbody中写入数据 
var n = 1;//tbody的起始行 
for(var i=begin;i<end;i++){ 
var row = ptable.insertRow(n++); 
var rowData = tableData[i]; 
for(var j=0;j<columns.length;j++){ 
var col = columns[j].cid; 
var cell = row.insertCell(j); 
var cellData = rowData[col]; 
cell.innerHTML = cellData; 
} 
} 
//生成分页工具条 
var pageBar = "第"+page+"页/共"+totalPage+"页"+" "; 
if(page>1){ 
pageBar += "<a href=\"javascript:splitPage("+1+","+pageSize+");\">首页</a> "; 
}else{ 
pageBar += "首页 "; 
} 
if(page>1){ 
pageBar += "<a href=\"javascript:splitPage("+(page-1)+","+pageSize+");\">上一页</a> "; 
}else{ 
pageBar += "上一页 "; 
} 
if(page<totalPage){ 
pageBar += "<a href=\"javascript:splitPage("+(page+1)+","+pageSize+");\">下一页</a> "; 
}else{ 
pageBar += "下一页 "; 
} 
if(page<totalPage){ 
pageBar += "<a href=\"javascript:splitPage("+(totalPage)+","+pageSize+");\">尾页</a> "; 
}else{ 
pageBar += "尾页 "; 
} 
document.getElementById("page_bar").innerHTML = pageBar; 
} 
</script> 
</head> <body onload="splitPage(1,3);"> 
<table id="page_table"> 
<thead> 
<tr> 
<th>h1</th> 
<th>h2</th> 
<th>h3</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td>111</td> 
<td>222</td> 
<td>333</td> 
</tr> 
</tbody> 
</table> 
<div id="page_bar"></div> 
</body> 
</html>
Javascript 相关文章推荐
jquery HotKeys轻松搞定键盘事件代码
Aug 30 Javascript
有关js的变量作用域和this指针的讨论
Dec 16 Javascript
js函数的引用, 关于内存的开销
Sep 17 Javascript
Javascript数组操作函数总结
Feb 05 Javascript
JS提交form表单实例分析
Dec 10 Javascript
AngularJS实现Model缓存的方式
Feb 03 Javascript
jQuery的实例及必知重要的jQuery选择器详解
May 20 Javascript
实例解析jQuery中如何取消后续执行内容
Dec 01 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
微信小程序实现横向增长表格的方法
Jul 24 Javascript
推荐一个基于Node.js的表单验证库
Feb 15 Javascript
vue如何实现关闭对话框后刷新列表
Apr 08 Vue.js
倒记时60刷新网页的js代码
Feb 18 #Javascript
JS替换文本域内的回车示例
Feb 18 #Javascript
javascript得到当前页的来路即前一页地址的方法
Feb 18 #Javascript
通过正则表达式实现表单验证是否为中文
Feb 18 #Javascript
如何将网页表格内容导入excel
Feb 18 #Javascript
js charAt的使用示例
Feb 18 #Javascript
jQuery 回车事件enter使用示例
Feb 18 #Javascript
You might like
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
JavaScript中检测变量是否存在遇到的一些问题
2013/11/11 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
2014/01/02 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
javascript的函数作用域
2014/11/12 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
基于vue2.0动态组件及render详解
2018/03/17 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
python二分法实现实例
2013/11/21 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
手把手教你用python抢票回家过年(代码简单)
2018/01/21 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
简单了解python关系(比较)运算符
2019/07/08 Python
python向图片里添加文字
2019/11/26 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
Python任务调度模块APScheduler使用
2020/04/15 Python
美国美发品牌:Bumble and Bumble
2016/10/08 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
销售部主管岗位职责
2013/12/18 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书