日期:2014-05-19  浏览次数:20400 次

梅花雪等高手们请进来看一眼吧,实在搞不定了
http://www.meizz.com/Web/Web.asp
这个页的底部有段梅花雪树的示例代码,为了让数据填充,我修改如下:

<script   language= "JavaScript ">
var   tree;
function   ShowTree(x,y,z,id)
{
    tree   =   new   MzTreeView( "tree ");
    tree.setIconPath( "jsimg/ ");
    tree.nodes[ " "+x+ "_ "+y+ " "]   =   "text: "+z+ ";   data:id= "+id+ " ";
    tree.setURL( "page_right.php ");
    tree.setTarget( "CNTFRAME ");
    document.write(tree.toString());   //&Ograve;à&iquest;&Eacute;&Oacute;&Atilde;   obj.innerHTML   =   tree.toString();
}
ShowTree(0,5, "tree ", "0 ");
</script>
然后从数据库中读数据(PHP代码),对查询出的所有记录进行一次遍历,在遍历中这样写:
      $n=strlen($arr[0]);       //取出来的ID
      if   ($n==2)       //取出来的ID长度如果为2,一级目录,设node.id为5
      {
              $a=5;
      }
      else   if   ($n==4)       //取出来的ID长度如果为4,二级
      {
              $a=substr($arr[0],0,2);//取出来的ID长度如果为6,三级
      }
      else   if   ($n==6)
      {
              $a=substr($arr[0],0,4);
      }
      ?>
        <script   language= "JavaScript "> ShowTree( <?echo   $a?> , <?echo   $arr[0]?> , " <?echo   $arr[1]?> ", <?echo   $arr[0]?> ) </script>
      <?

现在的问题是二级目录显示不出来,三级当然也不能显示了,ShowTree()这个函数被传递的参数千真万确都是正确的,循环的过程也是正确的,每循环一次,ShowTree()函数都会被赋予下面的值:
ShowTree(0,5, "tree ", "0 ");
ShowTree(5,10, "tree ", "0 ");
ShowTree(5,20, "tree ", "0 ");
......
ShowTree(10,1010, "tree ", "0 ");
......

但是输出到页面上就只有根节点了,请问是怎么回事?

------解决方案--------------------
程序跑在什么系统上?
------解决方案--------------------
關注一下
------解决方案--------------------
UP
------解决方案--------------------
关习
------解决方案--------------------
up
------解决方案--------------------
mark
------解决方案--------------------
你在每次循环里面加alter(),把值打出来,一看就清楚了
------解决方案--------------------
一步一步执行,看看在哪一句出现的 'isExpand '为空或不是对象

------解决方案--------------------
ding
------解决方案--------------------
帮顶!
------解决方案--------------------
一年多没写php 忘光了......