JS in:
var znodes=[
{id:0,pid:-1,name: "Aaaa"},
{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"},
{id:37,pid:36,name: "z1123"},
{id:38,pid:37,name: "z123123123"}
];
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);
Java:
Reprint Address: http://www.iteye.com/topic/1119961
Java, JS to achieve an infinite level of tree structure (like recursion)