function node(id,name,parentId,type) {
this.id = id;
this.name =name;
this.parentId = parentId;
this.type = type;
this.childnode = new Array();
}
function draw(node){
        int len = 0;        
        if(node.childenode!=null){
            len = node.childnode.length;
        }
        else{
            len = 1;
        }
        for(int i=0;i<len;i++){
            if(node.childnode!=null) {
                draw(node.childnode[i]);
            }
        }
  }
java稍该的写法,不知js里这么写对不对?

解决方案 »

  1.   

    <Html>
    <Head>
    <Title>CSDN论坛</Title>
    <Script language="JavaScript">
      <!--
    var onecount;
    onecount=0;
    group = new Array();
    group[0] = new Array("分组管理","","000000","1");
        group[1] = new Array("同学","000000","000003","1");
        group[2] = new Array("同事","000000","000002","0");
        group[3] = new Array("家","000000","000006","1");
        group[4] = new Array("高中同学","000003","000004","0");
        group[5] = new Array("大学同学","000003","000005","0");
        group[6] = new Array("亲戚","000006","000007","1");
        group[7] = new Array("朋友","000006","000008","1");
        group[8] = new Array("测试一","000007","000011","1");
        group[9] = new Array("学校朋友","000008","000009","1");
        group[10] = new Array("sss","000009","000010","0");
        group[11] = new Array("测试三","000009","000013","0");
        group[12] = new Array("测试二","000011","000012","1");
        group[13] = new Array("测试四","000012","000014","0");
        
        onecount=13;
        SubTree=0;
        function ShowTree(Nodes,Node)  
          {
            var i=0,j;
            var Buf="";
                       
            if(Node[3]=="1")  //如果结点为结点集
              {
               if(Node[2]=="000000") //如果结点为根结点
                 {
                    document.write("<Option Value=\""+Node[2]+"\">"+ Node[0] +"</Option>");
                 }
                   else
                     {
                      for(j=0;j<SubTree;j++) //输出结点集描述
                        Buf+="=";
                      document.write("<Option Value=\""+Node[2]+"\">"+Buf+ Node[0] +"</Option>");                 
                     }   
                     
               while(i<Nodes.length) //遍历所有结点
                  {
                   if(Nodes[i][1]==Node[2]) //找出结点集的子结点
                     {
                      SubTree++;  //结点层次递增
                      ShowTree(Nodes,Nodes[i]); //递归调用
                      SubTree--; //结点层次还原
                     }
                     i++;     
                  } 
              }  
               else
                 {  //如果结点为叶子结点,则直接输出
                  for(j=0;j<SubTree;j++)
                    Buf+="=";
                  document.write("<Option Value=\""+Node[2]+"\">"+ Buf+Node[0] +"</Option>");
                 }
          }
        
      -->
    </Script></Head>
    <Body><Select name="chosen" size="1"  style="width: 120px;"> 
    <Script type="text/javascript"> 
       <!--
    ShowTree(group,group[0]);
          
        -->
    </Script>
    </Select>
    </Body>
    </Html>
      

  2.   

    把根结点描述放在group[0]中。
    给分吧。
      

  3.   

    谢谢楼上的,先给100分吧
    至于另外的分,看我的新贴,我想改进
    结果就是
    <select name=topid>
    <option value="000000">分组管理</option>
    <option value="000003">同学</option>
    <option value="000004">-高中同学</option>
    <option value="000005">-大学同学</option>
    <option value="000002">同事</option>
    <option value="000006">家</option>
    <option value="000007">-亲戚</option>
    <option value="000011">--测试一</option>
    <option value="000012">---测试二</option>
    <option value="000014">----测试四</option>
    <option value="000008">-朋友</option>
    <option value="000009">--学校朋友</option>
    <option value="000010">---sss</option>
    <option value="000013">---测试三</option>
    </select>
    急如果是跟接点,则没有“-”
      

  4.   

    把SubTree的初值赋为-1就OK了。
    等待你的新帖。:)