------------------------ ------------------------
CIMSYSCMD.RLD Folder Distribution Folder
AAGServer Distribution Folder
NEWCIMQ.RLD Folder Distribution Folder
Folders RootFolder
Disallow_all
RootFolder
Distribution Folder RootFolder
SETCIMDB.SNP Folder Distribution Folder
PIMS.RLD Folder Distribution Folder
CIMVALS.RLD Folder Distribution Folder
CIMENG.RLD Folder Distribution Folder
CIMGCS.RLD Folder Distribution Folder
CIMVALSX.RLD Folder Distribution Folder
Q_D-FOLDER NEWCIMQ.RLD Folder
Lab Results folder
ATCPH Results Folder
Attribute Folder
lzm RootFolder
vcm RootFolder
现在要根据一个表的以上两个字段写一个树形菜单,FOLDER_PARENT为 NAME 的上一级,若为空,则name的上一级为根目录。节点标签为NAME字段值。表的结构不能改变。请问该如何做,请提供思路。
4 个解决方案
#1
递归
#2
可以用javascript + xml + xslt来实现,把xml的格式定义好(读数据库并写入xml文件),用xslt把xml转换为html
#3
用递归可以,我做过一个,表结构和你的不一样,是数组的。
function showMenu(v)//递归调用
{
for(var i in nodes)
{
var j=0; //子节点的个数
if(nodes[i].fatherid==v)
{
if(j==0) document.write("<div id=root"+v+" class=laye"+v+">");
document.write("<a href='"+nodes[i].url+"' ");
if(nodes[i].url=="#") document.write("onclick='abc()'");
document.write("><img src='"+nodes[i].image+"'>"+nodes[i].caption+"</a>");
showMenu(nodes[i].id);
j+=1;
}
if(j!=0) document.write("</div>")
}
return null;
}
function showMenu(v)//递归调用
{
for(var i in nodes)
{
var j=0; //子节点的个数
if(nodes[i].fatherid==v)
{
if(j==0) document.write("<div id=root"+v+" class=laye"+v+">");
document.write("<a href='"+nodes[i].url+"' ");
if(nodes[i].url=="#") document.write("onclick='abc()'");
document.write("><img src='"+nodes[i].image+"'>"+nodes[i].caption+"</a>");
showMenu(nodes[i].id);
j+=1;
}
if(j!=0) document.write("</div>")
}
return null;
}
#4
可以用javascript + xml + xslt来实现,把xml的格式定义好(读数据库并写入xml文件),用xslt把xml转换为html
不错
Csdn的树也不要错,可以看看,我就是看他的!
不错
Csdn的树也不要错,可以看看,我就是看他的!
#1
递归
#2
可以用javascript + xml + xslt来实现,把xml的格式定义好(读数据库并写入xml文件),用xslt把xml转换为html
#3
用递归可以,我做过一个,表结构和你的不一样,是数组的。
function showMenu(v)//递归调用
{
for(var i in nodes)
{
var j=0; //子节点的个数
if(nodes[i].fatherid==v)
{
if(j==0) document.write("<div id=root"+v+" class=laye"+v+">");
document.write("<a href='"+nodes[i].url+"' ");
if(nodes[i].url=="#") document.write("onclick='abc()'");
document.write("><img src='"+nodes[i].image+"'>"+nodes[i].caption+"</a>");
showMenu(nodes[i].id);
j+=1;
}
if(j!=0) document.write("</div>")
}
return null;
}
function showMenu(v)//递归调用
{
for(var i in nodes)
{
var j=0; //子节点的个数
if(nodes[i].fatherid==v)
{
if(j==0) document.write("<div id=root"+v+" class=laye"+v+">");
document.write("<a href='"+nodes[i].url+"' ");
if(nodes[i].url=="#") document.write("onclick='abc()'");
document.write("><img src='"+nodes[i].image+"'>"+nodes[i].caption+"</a>");
showMenu(nodes[i].id);
j+=1;
}
if(j!=0) document.write("</div>")
}
return null;
}
#4
可以用javascript + xml + xslt来实现,把xml的格式定义好(读数据库并写入xml文件),用xslt把xml转换为html
不错
Csdn的树也不要错,可以看看,我就是看他的!
不错
Csdn的树也不要错,可以看看,我就是看他的!