哈哈~刚刚给你投了一票!http://www.csdn.net/community2006/vote/index.rails?id=2

解决方案 »

  1.   

    是人员ID,人员前面我测试打印的就是部门或人员的ID。如下显示:
    软件部ID:1
    李四ID:2这些ID我都放在"checkbox" value里了。addtree('-*软件部','1');
    addtree('--张三','1');
    addtree('--李四','2');
    addtree('--王六','3');addtree('-市场部','2');
    addtree('--王小虎','6');
    addtree('--市场一部','4');
    addtree('---张一','9');
    addtree('---张二','10');
    addtree('--市场二部','5');addtree('-广告管理','3');
    addtree('--王六','4');
    addtree('--王七','5');
      

  2.   

    var faisunMenu_openedfolderimage_src="menutree/openedfolder.gif";
    var faisunMenu_closedfolderimage_src="menutree/closedfolder.gif";
    var faisunMenu_menufileimage_src="menutree/menufile.gif";var faisunMenu_treetext=new Array();
    var faisunMenu_treeurl=new Array();
    var faisunMenu_treeurltarget=new Array();var faisunMenu_treeNum=0;document.write("<style type='text/css'>.blockhide{display:none;} .blockmove{overflow: hidden;height:1px;display:block;} .blockshow{overflow: visible;height:1px;display:block;} .hideme{overflow: visible;display:none;} .showme{overflow: visible;display:block;} .faisunMenu td{font-size:12px;} </style>");function outinit(itemNo,dir,blockheight){ //缩小一个div的高度
      var subfiles=document.all["item"+itemNo];
      if(blockheight==0){
    subfiles.className="blockshow";
        blockheight=parseInt(subfiles.offsetHeight);
    if(dir>0)subfiles.className="blockmove";
      }
      var outinspeed=blockheight/5;
      var nowheight=parseInt(subfiles.offsetHeight)+outinspeed*dir;
      if(nowheight<=0){
        subfiles.className="blockhide";
    return;
      }else{
        subfiles.className="blockmove";
      }
      if(nowheight>=blockheight && dir>0){
        subfiles.className="blockshow";
    return;
      }
      subfiles.style.height=nowheight;
      subfiles.scrollTop=blockheight;
      parentsresize(subfiles);
      setTimeout("outinit("+itemNo+","+dir+","+blockheight+")",15);
    }function parentsresize(obj){ //缩小父类div的高度
    do{
    if(obj.className=="faisunMenu"){
    break;
    }
    if(obj.className=="blockshow"){
    obj.style.height="1px";
    }
    }while(obj=obj.parentElement);
    }function showhideit(itemNo){
      var showfolder=document.images["openedfolderimage"+itemNo];
      var hidefolder=document.images["closedfolderimage"+itemNo];
      var subfiles=document.all["item"+itemNo];
      if(subfiles.className=="blockmove") return;  if(showfolder.className=="hideme") {
    hidefolder.className="hideme";
        showfolder.className="showme";
    outinit(itemNo,1,0);
      }
      else {
    showfolder.className="hideme";
        hidefolder.className="showme";
    outinit(itemNo,-1,0);
      }
    }function addtree(text,url,target){
      faisunMenu_treetext.push(text);
      faisunMenu_treeurl.push(url?url:"");
      faisunMenu_treeurltarget.push(target?target:"mainframe");
    }function getsubnum(text){ //算出前面有几个"-"号
      var newtext=text.replace(/^-*/,"");
      return text.length-newtext.length;
    }
    function createtree(){  faisunMenu_treeNum++;
      var treestatus=new Array();
      var treeendlayer=new Array();
      var openedlayer=new Array();  var next_subnum=0;
      for(i=faisunMenu_treetext.length-1;i>=0;i--){ //从后面分析起,是否有为结束位置或有子树枝
        var subnum=getsubnum(faisunMenu_treetext[i]);
    treestatus[i]=0;
    if(subnum<next_subnum){  //有子目录
       treeendlayer[next_subnum]=0;
       treestatus[i]+=1;
    }
    if(!treeendlayer[subnum]){ //结束位置
       treeendlayer[subnum]=1;
       treestatus[i]+=2;
    }
    //显然地,既有子目录又是结束位置时 treestatus[i]=3;
    next_subnum=subnum;
      }
      
      var echo="<div class='faisunMenu'>";
      for(i=0;i<faisunMenu_treetext.length;i++){
         if(!faisunMenu_treetext[i]) continue;
     var subnum=getsubnum(faisunMenu_treetext[i]);
     var newtext=faisunMenu_treetext[i].replace(/^-*\*?/,"");
     
     if(treestatus[i]==1||treestatus[i]==3){
       var havechild=1;
     }else{
       var havechild=0;
     }  if(treestatus[i]==2||treestatus[i]==3){
       openedlayer[subnum]=0;
       var barstatus=2;
     }else{
       openedlayer[subnum]=1;
       var barstatus=1;  
     }  var showme=faisunMenu_treetext[i].match(/^-*\*/);
     var openfold=(i==faisunMenu_treetext.length-1?0:faisunMenu_treetext[i+1].match(/^-*\*/));
     var li=i-1;
         if(i>0&&(treestatus[li]==1||treestatus[li]==3)){
       echo += "<div id='item"+faisunMenu_treeNum+li+"' class='"+(showme?"blockshow":"blockhide")+"'>";
     }
     echo += "<table border='0' cellspacing='0' cellpadding='0' "+(subnum==0?"height=25":"")+"><tr>\n";
    for(j=1;j<subnum;j++){
      echo += "<td width='20' valign=bottom><img src='menutree/"+(openedlayer[j]?"bar3.gif":"spacer.gif")+"' width='20' height='20'></td>\n";
    }
    if(subnum>0){
      echo += "<td width='20' valign=bottom><img src='menutree/bar"+barstatus+".gif' width='20' height='20'></td>";
    }
    var clicktoshowhide=(havechild?"onclick='showhideit("+faisunMenu_treeNum+""+i+")' style='cursor:hand' ":"");
        echo += "<td width='22' valign=bottom "+clicktoshowhide+"><img name='openedfolderimage"+faisunMenu_treeNum+""+i+"' src='"+(havechild?faisunMenu_openedfolderimage_src:faisunMenu_menufileimage_src)+"' class='"+(openfold?"showme":"hideme")+"' width='20' height='20'><img name='closedfolderimage"+faisunMenu_treeNum+""+i+"' src='"+(havechild?faisunMenu_closedfolderimage_src:faisunMenu_menufileimage_src)+"' class='"+(openfold?"hideme":"showme")+"' width='20' height='20'></td>";
    echo += "<td nowrap valign=bottom>"+faisunMenu_treeurl[i]+"<input type=checkbox value='"+faisunMenu_treeurl[i]+"' onclick='checkAll("+faisunMenu_treeNum+i+",this)'>"+newtext+"</td></tr></table>\n\n";      if(barstatus==2&&!havechild){
       for(j=subnum;j>=0;j--){
         if(!openedlayer[j]) echo += "</div>";else break;
       }
     }
      }
      echo += "</div>";
      document.write(echo);  //清空列表以接受下一个菜单
      faisunMenu_treetext=new Array();
      faisunMenu_treeurl=new Array();
      faisunMenu_treeurltarget=new Array();}
    function checkAll(itemNo,obj)

    var subfiles=document.getElementById("item"+itemNo)
    if(subfiles)
    {
      var objs=subfiles.getElementsByTagName("INPUT")
      for(var i=0;i<objs.length;i++)
      {
       objs[i].checked=obj.checked
      }
    }
    }
    function showAllChecked()
    {
    var returnResult=new Array();
    var objs=document.getElementsByTagName("INPUT")
    var tempId=""
    for(var i=0;i<objs.length;i++)
    {
    if(objs[i].type=="checkbox")
    {
    if(objs[i].checked==true)
    {
    returnResult.push(objs[i].value);
    }
    }
    }
    alert(returnResult)
    }
      

  3.   

    能不能不显示部门ID,只要人员ID?真不好意思!
    就是选择还是这种方式,只是不要把部门ID累加进去就行了。再次感谢!
      

  4.   

    var faisunMenu_openedfolderimage_src="menutree/openedfolder.gif";
    var faisunMenu_closedfolderimage_src="menutree/closedfolder.gif";
    var faisunMenu_menufileimage_src="menutree/menufile.gif";var faisunMenu_treetext=new Array();
    var faisunMenu_treeurl=new Array();
    var faisunMenu_treeurltarget=new Array();var faisunMenu_treeNum=0;document.write("<style type='text/css'>.blockhide{display:none;} .blockmove{overflow: hidden;height:1px;display:block;} .blockshow{overflow: visible;height:1px;display:block;} .hideme{overflow: visible;display:none;} .showme{overflow: visible;display:block;} .faisunMenu td{font-size:12px;} </style>");function outinit(itemNo,dir,blockheight){ //缩小一个div的高度
      var subfiles=document.all["item"+itemNo];
      if(blockheight==0){
    subfiles.className="blockshow";
        blockheight=parseInt(subfiles.offsetHeight);
    if(dir>0)subfiles.className="blockmove";
      }
      var outinspeed=blockheight/5;
      var nowheight=parseInt(subfiles.offsetHeight)+outinspeed*dir;
      if(nowheight<=0){
        subfiles.className="blockhide";
    return;
      }else{
        subfiles.className="blockmove";
      }
      if(nowheight>=blockheight && dir>0){
        subfiles.className="blockshow";
    return;
      }
      subfiles.style.height=nowheight;
      subfiles.scrollTop=blockheight;
      parentsresize(subfiles);
      setTimeout("outinit("+itemNo+","+dir+","+blockheight+")",15);
    }function parentsresize(obj){ //缩小父类div的高度
    do{
    if(obj.className=="faisunMenu"){
    break;
    }
    if(obj.className=="blockshow"){
    obj.style.height="1px";
    }
    }while(obj=obj.parentElement);
    }function showhideit(itemNo){
      var showfolder=document.images["openedfolderimage"+itemNo];
      var hidefolder=document.images["closedfolderimage"+itemNo];
      var subfiles=document.all["item"+itemNo];
      if(subfiles.className=="blockmove") return;  if(showfolder.className=="hideme") {
    hidefolder.className="hideme";
        showfolder.className="showme";
    outinit(itemNo,1,0);
      }
      else {
    showfolder.className="hideme";
        hidefolder.className="showme";
    outinit(itemNo,-1,0);
      }
    }function addtree(text,url,target){
      faisunMenu_treetext.push(text);
      faisunMenu_treeurl.push(url?url:"");
      faisunMenu_treeurltarget.push(target?target:"mainframe");
    }function getsubnum(text){ //算出前面有几个"-"号
      var newtext=text.replace(/^-*/,"");
      return text.length-newtext.length;
    }
    function createtree(){  faisunMenu_treeNum++;
      var treestatus=new Array();
      var treeendlayer=new Array();
      var openedlayer=new Array();  var next_subnum=0;
      for(i=faisunMenu_treetext.length-1;i>=0;i--){ //从后面分析起,是否有为结束位置或有子树枝
        var subnum=getsubnum(faisunMenu_treetext[i]);
    treestatus[i]=0;
    if(subnum<next_subnum){  //有子目录
       treeendlayer[next_subnum]=0;
       treestatus[i]+=1;
    }
    if(!treeendlayer[subnum]){ //结束位置
       treeendlayer[subnum]=1;
       treestatus[i]+=2;
    }
    //显然地,既有子目录又是结束位置时 treestatus[i]=3;
    next_subnum=subnum;
      }
      
      var echo="<div class='faisunMenu'>";
      for(i=0;i<faisunMenu_treetext.length;i++){
         if(!faisunMenu_treetext[i]) continue;
     var subnum=getsubnum(faisunMenu_treetext[i]);
     var newtext=faisunMenu_treetext[i].replace(/^-*\*?/,"");
     
     if(treestatus[i]==1||treestatus[i]==3){
       var havechild=1;
     }else{
       var havechild=0;
     }  if(treestatus[i]==2||treestatus[i]==3){
       openedlayer[subnum]=0;
       var barstatus=2;
     }else{
       openedlayer[subnum]=1;
       var barstatus=1;  
     }  var showme=faisunMenu_treetext[i].match(/^-*\*/);
     var openfold=(i==faisunMenu_treetext.length-1?0:faisunMenu_treetext[i+1].match(/^-*\*/));
     var li=i-1;
         if(i>0&&(treestatus[li]==1||treestatus[li]==3)){
       echo += "<div id='item"+faisunMenu_treeNum+li+"' class='"+(showme?"blockshow":"blockhide")+"'>";
     }
     echo += "<table border='0' cellspacing='0' cellpadding='0' "+(subnum==0?"height=25":"")+"><tr>\n";
    for(j=1;j<subnum;j++){
      echo += "<td width='20' valign=bottom><img src='menutree/"+(openedlayer[j]?"bar3.gif":"spacer.gif")+"' width='20' height='20'></td>\n";
    }
    if(subnum>0){
      echo += "<td width='20' valign=bottom><img src='menutree/bar"+barstatus+".gif' width='20' height='20'></td>";
    }
    var clicktoshowhide=(havechild?"onclick='showhideit("+faisunMenu_treeNum+""+i+")' style='cursor:hand' ":"");
        echo += "<td width='22' valign=bottom "+clicktoshowhide+"><img name='openedfolderimage"+faisunMenu_treeNum+""+i+"' src='"+(havechild?faisunMenu_openedfolderimage_src:faisunMenu_menufileimage_src)+"' class='"+(openfold?"showme":"hideme")+"' width='20' height='20'><img name='closedfolderimage"+faisunMenu_treeNum+""+i+"' src='"+(havechild?faisunMenu_closedfolderimage_src:faisunMenu_menufileimage_src)+"' class='"+(openfold?"hideme":"showme")+"' width='20' height='20'></td>";
    echo += "<td nowrap valign=bottom>"+faisunMenu_treeurl[i]+"<input type=checkbox value='"+faisunMenu_treeurl[i]+"' onclick='checkAll("+faisunMenu_treeNum+i+",this)'>"+newtext+"</td></tr></table>\n\n";      if(barstatus==2&&!havechild){
       for(j=subnum;j>=0;j--){
         if(!openedlayer[j]) echo += "</div>";else break;
       }
     }
      }
      echo += "</div>";
      document.write(echo);  //清空列表以接受下一个菜单
      faisunMenu_treetext=new Array();
      faisunMenu_treeurl=new Array();
      faisunMenu_treeurltarget=new Array();}
    function checkAll(itemNo,obj)

    var subfiles=document.getElementById("item"+itemNo)
    if(subfiles)
    {
      var objs=subfiles.getElementsByTagName("INPUT")
      for(var i=0;i<objs.length;i++)
      {
       objs[i].checked=obj.checked
      }
    }
    }
    function showAllChecked()
    {
    var returnResult=new Array();
    var objs=document.getElementsByTagName("INPUT")
    var tempId=""
    var str=""
    for(var i=0;i<objs.length;i++)
    {
    if(objs[i].type=="checkbox")
    {
    if(objs[i].checked==true)
    {
    str=objs[i].onclick
    re=/checkAll\((\d+),.+?\)/
    re.test(str)
    if(!document.getElementById("item"+RegExp.$1))
    returnResult.push(objs[i].value);
    }
    }
    }
    alert(returnResult)
    }