Javascript利用递归生成企业部门树结构

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

id parentid name结构的数据
javascript脚本递归函数生成部门树结构




/*----------------------------文件---------------------*/
<style>
p, span, div, table, tr, td, input {
        font-family:                    tahoma;
        font-size:                              11px;
}
.sectionpaddig{
        padding-left:   4;
        padding-right:  4;
        filter: progid:dximagetransform.microsoft.dropshadow( color=bcbcbc,offx=2,offy=2,positive=true);
}
.inline{
        display:        inline; 
        vertical-align :text-top;
}
.dotbox{
 display:        inline;         
 height:1px;
}
.sectionstyle1{
      padding-left:   2;
        padding-right:  2;
        border: 1px solid #000000;
  border-top-color: #000000;
        border-left-color: #000000;
        border-right-color: #000000;
        border-bottom-color: #000000;
        background-color: #abcdef;
        text-align: center;
        cursor: hand;
}

</style>  
<script>
var sys_group = new array();
var maxstack;

sys_group[0] = new array(1, 0, "总经司");
sys_group[1] = new array(2, 1, "人事部");
sys_group[2] = new array(6, 1, "人sdsd事部");
sys_group[3] = new array(4, 2, "人1事部");
sys_group[4] = new array(3, 2, "人2事部");
sys_group[5] = new array(5, 3, "人3事部");
sys_group[6] = new array(7, 1, "财和事部");
sys_group[7] = new array(8, 5, "财和事ds部");
sys_group[8] = new array(9, 3, "财和sd事ds部");
maxstack=9;
var str;
var old_group=new array(),yu_group =new array();
for(var i=0; i<maxstack; i++) {
old_group[i]=new array(null, null, null);
}
i=0;
yu_group=sys_group;
str='<table border="0" id=t0 align="center" cellpadding="0" cellspacing="0" class="inline">';
str+='   <tr>';
str+='    <td align="left" valign="top"></td>';
str+='   </tr>';
str+='   <tr>';
str+='    <td align="center" valign="top"></td>';
str+='   </tr>';
str+='   <tr>';
str+='    <td align="center" valign="top" class="sectionpaddig"><table width="80" height="30" border="0" align="center" cellpadding="0" cellspacing="0" class="inline" >';
str+='     <tr>';
str+='      <td align="center" οnclick="opendlg('+sys_group[0][0]+');return;t0.style.display=/'none/';" class="sectionstyle1">'+sys_group[0][2]+'</td>';
str+='     </tr>';
str+='     </table>';
str+='    </td>';
str+='   </tr>';
str+='   <tr>';
str+='    <td align="center" valign="top">';
if (maxstack>1){
str+='<table border="0" cellpadding="0" cellspacing="0" bgcolor=#000000 width=1 height=15 class="inline" >';
str+='      <tr>';
str+='       <td align=center>';
str+='       </td>';
str+='      </tr>';
str+='     </table>';
}
str+='    </td>';
str+='   </tr>';
str+='   <tr>';
str+='    <td align="center" valign="top">';

old_group[0]=yu_group[0];
yu_group[0]=new array(null, null, null);
grouplist(1,0);
str+='    </td>';
str+='   </tr>';
str+='</table>';

//alert(str);
document.write(str);

function grouplist(ingroup_id,a){
 var old_find,yu_find,yuid_find,tempgroup_id,teststr;  
 if (a==maxstack){
 return;
 }
 for(var i=0; i<maxstack; i++) {
  if (yu_group[i][1]!=null && yu_group[i][1]== ingroup_id  ){
  
str+='<table border="0" id=t'+sys_group[i][0]+' align="center" cellpadding="0" cellspacing="0" class="inline">';

 for (var j=0; j<maxstack; j++){
  old_find=false;
  if (yu_group[i][1]!=null && old_group[j][1]!=null && old_group[j][1]==yu_group[i][1]){
   old_find=true;
   break;
  
  }
  
 }
 for (var j=0; j<maxstack; j++){
  yu_find=false;
  if ( i!=j && yu_group[i][1]!=null && yu_group[j][1]==yu_group[i][1] && yu_group[j][0]!=yu_group[i][0] ){
   yu_find=true;
   if (i==4){
   alert(yu_find);
   }
   break;
  }
  
 }
 for (var j=0; j<maxstack; j++){
  yuid_find=false;
  if ( i!=j && yu_group[i][1]!=null && yu_group[j][1]==yu_group[i][0]  ){
   yuid_find=true;
   break;
  }
  
 }
 
str+='   <tr>';
if (old_find==false&&yu_find==false){
str+='   <td align="center" valign="top" >';
str+='<table border="0" cellpadding="0" cellspacing="0" bgcolor=#000000 width=1 class="dotbox" >';
str+='      <tr>';
str+='       <td align=center ></td>';
str+='      </tr>';
str+='     </table>';
str+='</td>';
}
if (old_find==true&&yu_find==false){
str+='   <td align="left" valign="top">';
str+='<table border="0" cellpadding="0" cellspacing="0" bgcolor=#000000 width=50%  class="dotbox" >';
str+='      <tr>';
str+='       <td align=center ></td>';
str+='      </tr>';
str+='     </table>';
str+='</td>';
}
if (old_find==true&&yu_find==true){
str+='   <td align="center" valign="top">';
str+='<table border="0" cellpadding="0" cellspacing="0" bgcolor=#000000 width=100%  class="dotbox" >';
str+='      <tr>';
str+='       <td align=center ></td>';
str+='      </tr>';
str+='     </table>';
str+='</td>';
}
if (old_find==false&&yu_find==true){
str+='   <td align="right" valign="top">';
str+='<table border="0" cellpadding="0" cellspacing="0" bgcolor=#000000 width=50% class="dotbox" >';
str+='      <tr>';
str+='       <td align=center ></td>';
str+='      </tr>';
str+='     </table>';
str+='</td>';
}
str+='  </tr>';
str+='  <tr>';
str+='   <td align="center" valign="top"><img src="images/line_4.gif" width="60" height="15" class="inline"></td>';
str+='  </tr>';   
str+='  <tr>';
str+='   <td align="center" valign="top" class="sectionpaddig"><table width="80" height="30" border="0" align="center" cellpadding="0" cellspacing="0" class="inline" >';
str+='    <tr>';
str+='     <td align="center" οnclick="opendlg('+sys_group[i][0]+');return;t'+sys_group[i][0]+'.style.display=/'none/';" class="sectionstyle1">'+sys_group[i][2]+'</td>';
str+='    </tr>';
str+='    </table>';
str+='   </td>';
str+='  </tr>';
str+='  <tr>';
str+='   <td align="center" valign="top">';


if(yuid_find==true){
str+='   <table border="0" cellpadding="0" cellspacing="0" class="inline" >';
str+='    <tr>';
str+='     <td>';
str+='     <img src="images/line_4.gif" width="60" height="15" class="inline">';
str+='     </td>';
str+='    </tr>';
str+='   </table>';
}
str+='   </td>';
str+='  </tr>';
str+='  <tr>';
str+='   <td align="center" valign="top">';
 
  old_group[i]=yu_group[i];
  tempgroup_id=yu_group[i][0];
  
  yu_group[i]=new array(null, null, null);
  //alert(tempgroup_id);
  
  grouplist(tempgroup_id,i); 
   
str+='   </td>';
str+='  </tr>';   
str+='</table>';    
  }
               
        }
}


</script>


< <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值