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框架中显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)