动态生成树形菜单

时间:2022-09-06 11:55:12
NAME                     FOLDER_PARENT
 ------------------------  ------------------------
 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;
}

#4


可以用javascript + xml + xslt来实现,把xml的格式定义好(读数据库并写入xml文件),用xslt把xml转换为html

不错

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;
}

#4


可以用javascript + xml + xslt来实现,把xml的格式定义好(读数据库并写入xml文件),用xslt把xml转换为html

不错

Csdn的树也不要错,可以看看,我就是看他的!