文档章节

treeData转listData

一颗星星变了心
 一颗星星变了心
发布于 2016/05/15 13:57
字数 292
阅读 58
收藏 1

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script src="jquery-1.8.3.js"></script>
</head>
<body>
<div>
    <ul class="main"></ul>
</div>
<script>
var treeData={
    id:971,
    pid:-1,
    value:'中国',
    child:[
        {pid:971,id:191,value:'安徽',
            child:[{pid:191,id:292,value:'合肥',
                child:[{pid:292,id:393,value:'肥东',
                    child:[{pid:393,id:494,value:'龙泉路',
                        child:[{pid:494,id:595,value:'文一国际'},
                               {pid:595,id:57810,value:'天都城',child:[
                                    {pid:57810,id:533234595,value:'10栋5楼'}
                                ]}
                        ]
                    }]
                }]
            },[
                {pid:191,id:797,value:'黄山',child:[
                    {pid:797,id:999,value:'徽州区'}
                ]}
            ]
            ]},
        {pid:971,id:11,value:'四川',
            child:[{pid:11,id:22,value:'成都',
                child:[{pid:22,id:33,value:'双流',
                    child:[{pid:33,id:44,value:'华阳',
                        child:[{pid:44,id:55,value:'天府大道'}]
                }]
            }]
        },[
                {pid:11,id:77,value:'南充',child:[
                    {pid:77,id:99,value:'南部'}
                ]}
            ]
    ]}]

};

function setListLeft(treeData){
    var step =30;
    var cache =[];
    fn(treeData);
    function fn(data,n){
        n=n?n:0;
        var temp={};
        if(typeof(data)=='object'){
            if((data instanceof Array)){
                for(var i =0 ;i <data.length ;i++){
                    fn(data[i],n);
                }
            }else if((data instanceof Object)){
                for(var k in data){
                    if(!('left' in data)){
                        data['left']=n+=step;
                    }
                    if(('id' in data) && !('flag' in data)){
                        temp = $.extend(false,temp,data);
                        delete temp.child;
                        data['flag']=true;
                        cache.push(temp);
                    }
                    fn(data[k],n);
                }
            }
        }else{
            //console.log(data);
        }
    }
    return cache;
}

var liData =setListLeft(treeData);
var temp =$('<div></div>');
for(var k =0;k<liData.length;k++){
    temp.append($('<li></li>').css({paddingLeft:liData[k].left+'px'}).html(liData[k].value));
}
$('.main').append(temp.find('li'));


</script>
</body>
</html>

© 著作权归作者所有

一颗星星变了心
粉丝 9
博文 28
码字总数 12517
作品 0
成都
网页/平面设计
私信 提问
C#中窗体的数据传递

用vs2008中进行窗体之间数据的传递 首先用form1体作为主窗体,当主窗体之间修改数据时,子窗体也可以和主窗体数据相同,使用构造函数进行数据传递 using System; using System.Collections.G...

半边纸沙1
2016/06/10
0
0
JQuery ligerUI ligerTree 基本使用方法

首先引入相应的ligerUI的css和js文件 1,html 2,初始化 运行结果:

mybabe0312
2015/10/25
0
0
jQuery $.each(listData,function(key,value){})方法使用

listData:一个List数组,数组中每一个元素都是Map(key,value)。例如{"日期":"2016-09-05","次数":141} 此时的key相当于数组的下标,value是listData数组中的每个Map对象。 取值时使用value.日......

itlzm
2016/09/12
262
0
C# 关于使用JavaScriptSerializer 序列化与返序列化的操作

//开始解析 //引用 //using System.Web.Script.Serialization; JavaScriptSerializer js = new JavaScriptSerializer(); Dictionary oList = js.DeserializeObject("Json字符串") as Diction......

雨太阳
06/15
0
0
jQueryEasyUI 兼容性

請教下 Jquery EasyUI 兼容IE8 ? 在IE8下無法顯示頁面,但谷歌浏览器下显示效果是正常的 如何解決 1.3.2 tree: Can not load empty data when 'lines' property set to true. fixed. 當使用......

十月的星空
2013/10/22
553
3

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部