dtree报错: var d = new dTree("d"); 左侧的菜单可以显示,但是点击父菜单报错d无定义,是怎么回事,急急

dtree报错: var d = new dTree("d"); 左侧的菜单可以显示,但是点击父菜单报错d无定义,是怎么回事,急急,第1张

add 不仅仅是生成一个节点

他生成节点之后 同时将这个节点添加到了 thisaNodes 集合中。

dTree 有一个方法是 dTreeprototypetoString,这个方法的作用是生成出整个树的HTML

toString 是在转换成字符串时自动调用的,比如。

var d=new dTree('d');

documentwrite(d); //这个时候会自动调用 toString

原则1、如果类是系统提供的类,如view类,doc类,系统会提供获得指向该类指针的函数。例如,vc里面获得view

asiabaa

2个回答

·

dtree的配置中target是

add(id,pid,name,url,title,target,icon,iconOpen,open);

1 id int 节点自身的id(唯一)

2 pid int 节点的父节点id

3 name string 节点显示在页面上的名称

4 url string 节点的链接地址

5 title string 鼠标放在节点上显示的提示信息

6 target string 节点链接所打开的目标frame

7 icon string 节点关闭状态时显示的图标

8 iconOpen string 节点打开状态时显示的图标

9 open bool 节点第一次加载是否打开

你这个改第六个参数就行了

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 401 Transitional//EN" ">

<head>

<meta >

<meta name="author" content="心梦缘ocean ocl" />

<title>My tree demo</title>

<style type="text/css">

    /主页面样式/

    leftNav {

      width: 20%;

      height:500px;

      border:#B9E0F7 1px solid;

      margin-left: 1%;

      margin-right: 1%;

  }

    #footer {

    color:#808080;

    line-height: 16em;

    padding: 0 0 1em 0;

  }

  /我的树样式表/

  treeDiv {

    color: #636363;

    font-size: 14px;

    font-weight: normal;

    background-color: #fff;

    color: black;

    overflow: auto;

    padding: 0 0 1em 0;

    overflow-x: hidden;

  }

  treeNode {

    white-space: nowrap;

    text-indent: -14px;

    margin: 6px 2px 5px 14px;

  }

  atreeUnselected:hover, atreeSelected:hover {

    background-color: #BFD9ED;

    text-decoration: none;

  }

  atreeUnselected, atreeSelected {

    color: black;

    padding: 1px 3px 1px 0;

    text-decoration: none;

  }

  atreeSelected {

    background-color: #B9E0F7;

  }

  atreeUnselected {

    background-color: transparent;

  }

  treeSubnodes {

    display: block;

  }

  treeSubnodesHidden {

    display: none;

  }

  treeNode imgtreeNoLinkImage, treeNode imgtreeLinkImage {

    height: 15px;

    margin-left: 5px;

    margin-right: 0px;

    width: 15px;

  }

  treeNode imgtreeLinkImage {

    cursor: pointer;

  }

  divtreeNode a, divtreeNode spanapiRoot {

    display: inline-block;

    margin-left: 24px;

    text-indent: 0;

    white-space: normal;

    width: 95%;

    word-wrap: break-word;

  }

  divtreeNode spancategory {

    cursor: pointer;

  }

</style>

</head>

<body>

<div class="leftNav">

  <div id="samplesToc">

      <div id="tree" style="top: 35px; left: 0px;" class="treeDiv">

        <div id="treeRoot" onselectstart="return false" ondragstart="return false">

          <div class="treeNode">

            <img src="/graphics/treenodeplusgif" onclick="expandCollapse(thisparentNode)" class="treeLinkImage">

            <span onclick="expandCollapse(thisparentNode)" class="category">目录节点一 </span>

            <div class="treeSubnodesHidden">

             

                <div class="treeNode">

                     <img src="/graphics/treenodeplusgif" onclick="expandCollapse(thisparentNode)" class="treeLinkImage">

                     <span onclick="expandCollapse(thisparentNode)" class="category">目录节点一子目录 </span>

                     <div class="treeSubnodesHidden">

                         <div class="treeNode">

                            <a href="#" class="treeUnselected" onclick="clickAnchor(this)">二级叶子结点一</a>

                      </div>

                      <div class="treeNode">

                            <a href="#" class="treeUnselected" onclick="clickAnchor(this)">二级叶子结点二</a>

                      </div>

                  </div>

                </div>

             

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点一</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点二</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点三</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点四</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点五</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点六</a>

              </div>

            </div>

          </div>

          <!--end block-->

          <div class="treeNode">

            <img src="/graphics/treenodeplusgif" onclick="expandCollapse(thisparentNode)" class="treeLinkImage">

            <span onclick="expandCollapse(thisparentNode)" class="category">目录节点二</span>

            <div class="treeSubnodesHidden">

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点一</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点二</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点三</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点四</a>

              </div>

              <div class="treeNode">

                <a href="#" class="treeUnselected" onclick="clickAnchor(this)">叶子结点五</a>

              </div>

            </div>

          </div>

          <!--end block-->

        </div>

      </div>

  </div> <!-- end samplesToc -->

</div> <!-- end leftNav -->

<div class="right content">

</div><!-- end main  content-->

<div id="footer" align="center">

     

</div><!-- end footer-->

<script type="text/javascript">

var treeSelected = null;//选中的树节点

var imgPlus = new Image();

imgPlussrc="/graphics/treenodeplusgif";

var imgMinus = new Image();

imgMinussrc="/graphics/treenodeminusgif";

//父节点展开事件

function expandCollapse(el)

{

  //如果父节点有字节点(class 属性为treeSubnodesHidden),展开所有子节点

  if (elclassName!= "treeNode"){

      return;    //判断父节点是否为一个树节点,如果树节点不能展开,请检查是否节点的class属性是否为treeNode

  }  

  var child;

  var imgEl;//子节点,在树展开时更换

  for(var i=0; i < elchildNodeslength; i++)

  {

      child = elchildNodes[i];

      if (childsrc)

      {

          imgEl = child;

      }

      else if (childclassName == "treeSubnodesHidden")

      {

          childclassName = "treeSubnodes";//原来若隐藏,则展开

          imgElsrc = imgMinussrc;//更换

          break;

      }

      else if (childclassName == "treeSubnodes")

      {

          childclassName = "treeSubnodesHidden";//原来若展开,则隐藏

          imgElsrc = imgPlussrc;//更换

          break;

      }

  }

}

//子节点点击事件,设置选中节点的样式

function clickAnchor(el)

{

  selectNode(elparentNode);

  elblur();

}

function selectNode(el)

{

  if (treeSelected != null)

  {

      setSubNodeClass(treeSelected, 'A', 'treeUnselected');

  }

  setSubNodeClass(el, 'A', 'treeSelected');

  treeSelected = el;

}

function setSubNodeClass(el, nodeName, className)

{

  var child;

  for (var i=0; i < elchildNodeslength; i++)

  {

      child = elchildNodes[i];

      if (childnodeName == nodeName)

      {

          childclassName = className;

          break;

      }

  }

}

</script>

</body>

</html>

运行效果:

1你的设计有点不合理

2不知道用什么数据库

建议:使用dtree或者xloadtree 这两个是最常用的树形组件

把表结构换成一张表,加个字段父id

ID 名字 父ID

1 香烟 0

2 中华 1

3 中南海 1

4 酒 0

5 茅台 4

6 小茅台 5

如果数据库是oracle的话,直接使用递归查询

如果是其他数据库,建议使用 xloadtree,点击一下,会动态刷出子节点ajax效果

--------------------------------补充

那就推荐你用ajax的树

刚开始的时候只需要大类型

id name

1 烟

2 酒

小类表

id name pid

1 中华 1

2 中南海 1

3 茅台 2

取大类直接查生成树之后

每点击一下容然后去查小类

比如点击烟 把烟的id传到后台id=1

然后查小类 select from XXX where pid=1

那么所有的小类就都出来了

以上就是关于dtree报错: var d = new dTree("d"); 左侧的菜单可以显示,但是点击父菜单报错d无定义,是怎么回事,急急全部的内容,包括:dtree报错: var d = new dTree("d"); 左侧的菜单可以显示,但是点击父菜单报错d无定义,是怎么回事,急急、dtree的配置中target是什么意思、javascript目录树中的连接页面如何在iframe框架中显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9641478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存