js 从一个json拼接成另一个json,并做json数据分页table展示
先给数据:
//原始json数据
json = [{"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"}, {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} {"id":"1","aid":"013","performanceperson":"668","customername":"\u6cb3\u5357\u4eba\uff0c\u4e0d\u77e5\u540d","customerphone":"13013013000","company":"\u6731\u5f69\u4e91","remarks":"\u9700\u8981","createtime":"2015-11-14 11:06:17"} ];
//预定义空 准备用于存放新拼接的json
var Datatable = ' ';
//新json数据的表头
var columns = [{"cid":"customername","ctext":"客户名字"},{"cid":"customerphone","ctext":"客户电话"},{"cid":"company","ctext":"客服/公司"},{"cid":"performanceperson","ctext":"销售"},{"cid":"createtime","ctext":"创建时间"},{"cid":"remarks","ctext":"备注"},{"cid":"edit","ctext":"操作"}];
主体ajax 获取数据---thinkphp 3.1.3
//获得全部客户信息
function getall()
{
var ajaxurl = '/app/index.php/Customerinfos/handler';
$.post(ajaxurl,{},function(data){
data=getnewjson(data);
$('#result').html(setcustomerinfoallsplitPage(json));
tableData = getnewjson(json);
//tableData = JSON.stringify(json); //json转换为字符串
splitPage(1,10);
},'json');
$("#wd").attr("disabled", 'true');
$("#phone").attr("disabled", 'true');
$("#company").attr("disabled", 'true');
}
setcustomerinfoallsplitPage(json)
function setcustomerinfoallsplitPage(json)
{
if(json == null || json == undefined || json == '')
{
return "返回值为空!";
}
var html = "<table class='imagetable' id='tb'>";
html+="<tr><th>客户名字</th><th>客户电话</th><th>客服/公司</th><th>销售</th><th>创建时间</th><th>备注</th><th>操作</th></tr>";
for(i=0;i<json.length;i++){
html+="<tr align='center'>";
html+="<td>"+json[i].customername+"</td><td>"+json[i].customerphone+"</td><td>"+json[i].company+"</td><td>"+json[i].performanceperson+"</td><td>"+json[i].createtime+"</td><td>"+json[i].remarks+"</td><td><nobr><input type='button' id='edit' value='编辑' onclick='javascript:edit_customerphone("+json[i].customerphone+");' /><input type='button' id='delete' value='删除' onclick='javascript:delete_customerphone("+json[i].customerphone+");' /></nobr></td>";
html+="</tr>";
}
html+="</table><hr style='position:absolute;width:1425px;heigth:30px;top:530px;'><div style='position:absolute;width:1425px;heigth:30px;top:550px;' id='page_bar' align='center'></div><hr style='position:absolute;width:1425px;heigth:30px;top:570px;'>";
return html;
}
拼接新的json
//截取json并拼接新的json
function getnewjson(json)
{
if(json == null || json == undefined || json == '')
{
return null;
}
var obj = [];
for(var i=0;i<json.length;i++) {
var customer = {};
customer.customername = json[i].customername;
customer.customerphone= json[i].customerphone;
customer.company = json[i].company;
customer.performanceperson = json[i].performanceperson;
customer.createtime = json[i].createtime;
customer.remarks = json[i].remarks;
customer.edit = "<nobr><input type='button' id='edit' value='编辑' onclick='javascript:edit_customerphone("+json[i].customerphone+");' /><input type='button' id='delete' value='删除' onclick='javascript:delete_customerphone("+json[i].customerphone+");'/></nobr>";
obj.push(customer);
}
return obj;
}
json 数据分页
/**
page:页码
pageSize:每页的记录条数
此方法除了传入page和pageSize之外,还应知道的有三个参数:
一、表的全部数据,json串格式,可通过action查询数据库得到。
二、表头所对应的列的key及名称,也是json串格式
三、表所对应的id
注:此处只是适合表头只有一行,且事先写好的情况。您可以根据需要改一下,逻辑思路就是这样,欢迎批评指正。
*/
function splitPage(page,pageSize)
{
/* if(Object.prototype.toString.call(tableData) === "[object String]"){ //判断是否为字符串
var json=JSON.parse(tableData); //字符串转化为json
}*/
var ptable = document.getElementById("tb"); //获取表格对象
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 += "尾页 ";
}
$('#page_bar').html(pageBar).show();
}
完工~~~~
js 从一个json拼接成另一个json,并做json数据分页table展示的更多相关文章
- vue 把后台返回的json拼接成excel并下载
先封装一下生成excel的方法 downfile.js export default { data() { return {} }, components: {}, created() { }, me ...
- 127. 126. Word Ladder *HARD* -- 单词每次变一个字母转换成另一个单词
127. Given two words (beginWord and endWord), and a dictionary's word list, find the length of short ...
- 关于SQL Server将一列的多行内容拼接成一行的问题讨论
http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我 ...
- SQL Server将一列的多行内容拼接成一行的问题讨论
转自http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出 ...
- SQL Server将一列的多行内容拼接成一行
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_name A ...
- sqlserver中将查询结果拼接成字符串
#for xml path(param)--将查询结果以xml格式输出 select id,name from table1 for xml path --id和name为table1的真实字段 - ...
- SQL查询结果拼接成字符串
sqlserver中将查询结果拼接成字符串 #for xml path(param)--将查询结果以xml格式输出 1 select id,name from table1 for xml pat ...
- SpringMVC将通过ajax发送的 json数据封装成JavaBean
SpringMVC将通过ajax发送的 json数据封装成JavaBean 通过ajax发送的 json数据封装成JavaBean对发送时有如下要求: 1.发送的数据类型必须时UTF-8 2.发送的必 ...
- [原创]SQL 把表中某一个列按照逗号拼接成一行
在我们开发的过程中,难免遇到一种场景,把某个表中的的某个列的值拼接成用逗号隔开的一行数据 如图:我们把UserId列拼接成一行数据 -------> 为此我写了一个存储过程来解决此类问题. -- ...
随机推荐
- ubuntu使用crontab
crond服务通常被放在/etc/init.d/crond , 这样就可以在系统启动后自动启动crond服务. linux中的用户使用crontab命令来配置cron任务. crontab在/etc目 ...
- move.js
function startMove(obj,json,fn){ var flag=true;//标志所有运动是否到达目标值 clearInterval(obj.timer); obj.timer=s ...
- 从头開始写项目Makefile(七):统一目标输出文件夹
[版权声明:转载请保留出处:blog.csdn.net/gentleliu. Mail:shallnew at 163 dot com] 上一节我们把规则单独提取出来,方便了Makefile的 ...
- SQL SERVER 2008 R2 自动备份并删除过期备份数据
我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件, ...
- UIImage缩放
+(UIImage *)scaleImage: (UIImage *)image scaleFactor:(float)scaleFloat { CGSize size = CGSizeMake(im ...
- C实现二叉树(模块化集成,遍历的递归与非递归实现)
C实现二叉树模块化集成 实验源码介绍(源代码的总体介绍):header.h : 头文件链栈,循环队列,二叉树的结构声明和相关函数的声明.LinkStack.c : 链栈的相关操作函数定义.Queue. ...
- BZOJ 1606: [Usaco2008 Dec]Hay For Sale 购买干草( dp )
-------------------------------------------------------------------- #include<cstdio> #include ...
- centos7安装mysql5.6
1.更新yum源 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-communit ...
- Struts2中获取HttpServletRequest,HttpSession等的几种方式
转自:http://www.kaifajie.cn/struts/8944.html package com.log; import java.io.IOException; import java. ...
- python初探-collections容器数据类型
collections容器数据类型是对基本数据类型的补充,简单介绍下计数器.有序字典.默认字典.可命名元祖.队列. 计数器(Counter) Counter是对字典类型的补充,用于追踪值得出现次数 c ...