日期:2014-05-16 浏览次数:20413 次
var zNodes=[
{id:1,pId:0;name:"A"},
{id:11,pId:1;name:"A1"},
{id:12,pId:1;name:"A2"},
{id:13,pId:1;name:"A3"},
{id:2,pId:0;name:"B"},
{id:21,pId:2;name:"B1"},
{id:22,pId:2;name:"B2"},
{id:23,pId:2;name:"B3"},
{id:3,pId:0;name:"C"},
{id:31,pId:3;name:"C1"},
{id:32,pId:3;name:"C2"},
{id:33,pId:3;name:"C3"}
]
<ul> <li><a href="#">A</a> <ul> <li><a href="#">A</a></li> <li><a href="#">A</a></li> <li><a href="#">A</a></li> </ul> </li> <li><a href="#">B</a> <ul> <li><a href="#">B</a></li> <li><a href="#">B</a></li> <li><a href="#">B</a></li> </ul> </li> <li><a href="#">C</a> <ul> <li><a href="#">C</a></li> <li><a href="#">C</a></li> <li><a href="#">C</a></li> </ul> </li> </ul>
var zNodes=[
{id:1,pId:0,name:"A"},
{id:11,pId:1,name:"A1"},
{id:12,pId:1,name:"A2"},
{id:13,pId:1,name:"A3"},
{id:2,pId:0,name:"B"},
{id:21,pId:2,name:"B1"},
{id:22,pId:2,name:"B2"},
{id:23,pId:2,name:"B3"},
{id:3,pId:0,name:"C"},
{id:31,pId:3,name:"C1"},
{id:32,pId:3,name:"C2"},
{id:33,pId:3,name:"C3"},
{id:34,pId:31,name:"x"},
{id:35,pId:31,name:"y"},
{id:36,pId:31,name:"z"}
];
function treeMenu(a){
this.tree=a||[];
this.groups={};
};
treeMenu.prototype={
init:function(pid){
this.group();
return this.getDom(this.groups[pid]);
},
group:function(){
for(var i=0;i<this.tree.length;i++){
if(this.groups[this.tree[i].pId]){
this.groups[this.tree[i].pId].push(this.tree[i]);
}else{
this.groups[this.tree[i].pId]=[];
this.groups[this.tree[i].pId].push(this.tree[i]);
}
}
},
getDom:function(a){
if(!a){return ''}
var html='\n<ul>\n';
for(var i=0;i<a.length;i++){
html+='<li><a href="#">'+a[i].name+'</a>';
html+=this.getDom(this.groups[a[i].id]);
html+='</li>\n';
};
html+='</ul>\n';
return html;
}
};
var html=new treeMenu(zNodes).init(0);
alert(html);