遍历json创建树状表(首先的前提条件是要引入jquery的jquery treeTable插件)
"root":{
"children":[
{
"name":"AA",
"children":[
{
"nam1":"AA1",
"children":[
{
"name":"AAA1",
"children":[{
"name":"xsA",
"children":"",
"parameter":{"name":"xsA","OT":18,"NT":12}
}],
"parameter":{"name":"AAA1","OT":1800,"NT":12000}
},
{
"name":"AAA2",
"children":"",
"parameter":{"name":"AAA2","OT":1100,"NT":1400}
},
{
"name":"AAA3",
"children":"",
"parameter":{"name":"AAA3","OT":100,"NT":700}
}
],
"parameter":{"name":"AA1","OT":3000,"NT":1389}
},
{
"name":"AA2",
"children":[
{
"name":"AA2A",
"children":"",
"parameter":{"name":"AA2A","OT":1800,"NT":12000}
},
{
"name":"AA2B",
"children":"",
"parameter":{"name":"AA2B","OT":1100,"NT":1400}
}
],
"parameter":{"name":"AA2","OT":3000,"NT":1389}
}
],
"parameter":{"name":"AA","OT":1000,"NT":400}
},
{
"name":"BB",
"children":[
{
"name":"BB1",
"children":[
{
"name":"BBB1",
"children":"",
"parameter":{"name":"BBB1","OT":1800,"NT":12000}
},
{
"name":"BBB2",
"children":"",
"parameter":{"name":"BBB2","OT":1100,"NT":1400}
},
{
"name":"BBB3",
"children":"",
"parameter":{"name":"BBB3","OT":100,"NT":700}
}
],
"parameter":{"name":"BB1","OT":3000,"NT":1389}
},
{
"name":"BB2",
"children":[
{
"name":"BB2A",
"children":"",
"parameter":{"name":"BB2A","OT":1800,"NT":12000}
},
{
"name":"BB2B",
"children":"",
"parameter":{"name":"BB2B","OT":1100,"NT":1400}
}
],
"parameter":{"name":"BB2","OT":3000,"NT":1389}
}
],
"parameter":{"name":"BB","OT":20,"NT":8000}
},
{
"name":"CC",
"children":"",
"parameter":{"name":"CC","OT":500,"NT":2}
}
]
}
js代码
$(function(){
var treeTR,JsonOBJ,arrColumn,cloum,cc;
$.getJSON("html/template/template.json", function(msg){
//msg:root获取所有的数据
JsonOBJ=msg.root.children;
arrColumn=msg.Column;
//创建TH
treeTR+="<tr>";
for(var t=0;t<arrColumn.length;t++){
treeTR +="<th>" +arrColumn[t]+ "</th>";
}
treeTR+="</tr>";
//创建底层节点s
for(var i=0;i< JsonOBJ.length;i++){
treeTR += "<tr data-tt-id='"+i+"'>" ;
for(var k=0;k<arrColumn.length;k++){
cloum=arrColumn[k];
treeTR +="<td>" +JsonOBJ[i].parameter[cloum]+ "</td>";
}
treeTR += "</tr>";
cc= i;
tree(JsonOBJ[i].children,cc);
}
//example-advanced 为table的ID
$("#example-advanced").append(treeTR);
$("#example-advanced").treetable({ expandable: true });
});
}
//加载树的子节点
function tree(w,bb){
for(var j=0;j< w.length;j++){
treeTR += "<tr data-tt-id='"+bb+'-'+j+"' data-tt-parent-id='"+bb+"'>" ;
for(var m=0;m<arrColumn.length;m++){
cloum=arrColumn[m];
treeTR += "<td>" +w[j].parameter[cloum]+ "</td>";
}
treeTR += "</tr>";
if(jQuery.isArray(w[j].children)){
cc=bb+"-"+j;
//递归遍历所有的子节点
tree(w[j].children,cc);
}
}
});
上图:有图有真相嘛,俗话所得好:

搞定晒!
遍历json创建树状表(首先的前提条件是要引入jquery的jquery treeTable插件)的更多相关文章
- Qt 使用大神插件快速创建树状导航栏
前言 本博客仅仅记录自己的采坑过程以及帮助网友避坑,方便以后快速使用自定义控件,避免重复出错. 下载插件 大神 Github Qt 自定义控件项目地址:https://github.com/feiya ...
- 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...
- 前端笔记之jQuery(下)事件&节点操作&净位置&拖拽&页面卷动值&遍历JSON
一.监听事件大全 1.1 JavaScript事件 onblur 元素失去焦点 onchange 用户改变域的内容 onclick 鼠标点击某个对象 ondblclick 鼠标双击某个对象 onfoc ...
- MySQL递归查询树状表的子节点、父节点具体实现
mysql版本(5.5.6等等)尚未支持循环递归查询,和sqlserver.oracle相比,mysql难于在树状表中层层遍历的子节点.本程序重点参考了下面的资料,写了两个sql存储过程,子节点查询算 ...
- for in 遍历json
获取对象属性的语法: 1.obj.attr 2.obj["attr"] for in 遍历json的时候, 1.for(attr in json)中的attr获取到的是json中属 ...
- js声明json数据,打印json数据,遍历json数据
1.js声明json数据: 2.打印json数据: 3.遍历json数据 //声明JSON var json = {}; json.a = 1; //第一种赋值方式(仿对象型) json['b'] = ...
- ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法
ORACLE 查询一个数据表后通过遍历再插入另一个表中的两种写法 语法 第一种: 通过使用Oracle语句块 --指定文档所有部门都能查看 declare cursor TABLE_DEPT and ...
- webform 创建树
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- fastJson顺序遍历JSON字段
fastJson在把json格式的字符串转换成JSONObject的时候,使用的是HashMap,所以排序规则是根据HASH值排序的,如果想要按照字符串顺序遍历JSON属性,需要在转换的时候指定使用L ...
随机推荐
- c#QQ连连看辅助
近来无事,写个连连看辅助,下面先说下思路吧(口才不行,见谅哈) 游戏辅助有三种方法,一种是读内存,这个不知道怎么分析,还有一种是获取封包,这个分析起来复杂,最后一种是图片识别再分析,这里采用最后一种 ...
- vs2013使用初体验
刚安装好vs2013 , 初步体验了一把, 下面是我目前感受到的改变(对比vs2012) 1. 任务栏图标变了 (左边vs2013, 右边vs2012) 2. 开始界面 (vs2012有ligh ...
- HDU--杭电--3415--Max Sum of Max-K-sub-sequence--暴力或单调队列
Max Sum of Max-K-sub-sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- springMVC3学习(十一)--文件上传CommonsMultipartFile
使用springMVC提供的CommonsMultipartFile类进行读取文件 需要用到上传文件的两个jar包 commons-logging.jar.commons-io-xxx.jar 1.在 ...
- OpenCV 4 Python高级配置—安装setuptools,matplotlib,six,dateutil,pyparsing 完整过程
Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法,可以用Matplotib 显示图像,放大图像,保存图像等等,对于OpenCV处理图像具有非常大的帮助.但是,安装Matplo ...
- gearman with postgresql as persistent Queuing
gearman is a good thing gearman client --------------> gearman server <----------------------- ...
- Servle中的会话管理
最近整理了下会话管理的相关笔记,以下做个总结: 一.会话管理(HttpSession) 1.Web服务器跟踪客户状态的四种方法: 1).使用Servlet API的Session机制(常用) 2).使 ...
- samba安装与配置
1.安装软件包rpm -q samba samba-common samba-client cifs-utilsyum -y install samba samba-common samba-clie ...
- AxeSlide软件项目梳理
先介绍一下我负责的软件项目 AxeSlide斧子演示,估计大部分人没有听说过,但国外有一款叫Prezi的软件,应该有一部分人使用过. 这是我们产品的官网http://www.axeslide.com/ ...
- js 数组常用的操作函数整理
平时多做企业应用开发,抱着实用为主,对前端技术理解得比较肤浅,下面就是肤浅地对 js 数组的属性和方法及对它操作的 jquery 方法做些记录: js 数组是 js 内建的一个非常强大数据类型,由于 ...