最近在做一个树形菜单,我使用了dhtmlxTree这一专门做树形菜单的控件,但我有个疑问,
我生成下面的页面时,root根节点默认是闭合的,我想一开始是子节点是展开的,怎么弄?
<link rel="STYLESHEET" type="text/css" href="/TestTree2/css/dhtmlxtree.css">
<script src="/TestTree2/js/dhtmlxcommon.js"></script>
<script src="/TestTree2/js/dhtmlxtree.js"></script>
<script src="/TestTree2/js/dhtmlxtree_start.js"></script>
<div
class="dhtmlxTree"
setImagePath="/TestTree2/img/treeSkin/csh_books/"
>
<ul>
<li>Root
<ul>
<li>Child1
<ul>
<li>Child 1-1</li>
</ul>
</li>
<li>Child2</li>
<li>Child3></li>
</ul>
</li>
</ul>
</div>
我生成下面的页面时,root根节点默认是闭合的,我想一开始是子节点是展开的,怎么弄?
<link rel="STYLESHEET" type="text/css" href="/TestTree2/css/dhtmlxtree.css">
<script src="/TestTree2/js/dhtmlxcommon.js"></script>
<script src="/TestTree2/js/dhtmlxtree.js"></script>
<script src="/TestTree2/js/dhtmlxtree_start.js"></script>
<div
class="dhtmlxTree"
setImagePath="/TestTree2/img/treeSkin/csh_books/"
>
<ul>
<li>Root
<ul>
<li>Child1
<ul>
<li>Child 1-1</li>
</ul>
</li>
<li>Child2</li>
<li>Child3></li>
</ul>
</li>
</ul>
</div>
dhtmlxTree不是从xml文件加载树的吗?
我写在就是想写在JSP上面
展开目标节点下的所有子节点。
<ul id="rootId">
<li>Root window.onload=function (){
openAllItems('rootId');
}
可以试试
window.onload=function ()
{
openAllItems('rootId');
}
</script>
楼上大哥,我试过了,不行
我是觉得有没有配置这样的属性,比如说
<div
class="dhtmlxTree"
setImagePath="/TestTree2/img/treeSkin/csh_books/"
>
我div里面的setImagePath就是直接写的,在比如我还可以在div里加enableDragAndDrop="true"(表示可拖动节点),我就不知道div里有没有这样的默认直接展开节点的属性
因为我不知道怎么从DB生成XML,在动态的调用生成的XML文件
所以我只能从DB里读出数据到JSP,再页面中用循环生成树形现在就不知道如何生成的树形默认是展开的
我记得在servlet里有个 response.setContentType("text/xml"),
具体应该怎么弄呢?望指教
在调用tree.loadXMLString();加载整个树的!!
response.setContentType("text/html;charset=utf-8"); String xml;
StringBuffer contents = new StringBuffer();
contents.append("<?xml version='1.0' encoding='UTF-8'?>");
contents.append("<tree id='0'>");
//一些遍历操作
contents.append("</tree>");
xml = contents.toString();
在jsp中加入<script language="JavaScript" type="text/javascript">
tree = new dhtmlXTreeObject("treeboxbox_tree", "100%", "100%", 0);
var xml="<%=%>";//调用方法赋值
tree.loadXMLString(xml);
和json差不多吧写在out.println(拼接的字符串);
<body onload="initTree()">
<div id="treeboxbox_tree" setImagePath="/TestTree2/img/treeSkin/csh_books/" >
<ul>
<li open="1" id="id1">TITLE 1
<ul>
<li>OPTION 1</li>
</ul>
</ul>
</div>
function initTree()
{
var myTree = dhtmlXTreeFromHTML('treeboxbox');
myTree.openItem('root');
}
这样就可以展开了,但是这只能在在html中数据写死的情况下,如果我数据是放在request中,用${nodeName},
这样JSP是不显示任何东西的 ,不知道为什么?
随后在JSP里 用$表达式取出来呢? 还是其它意思?
我以前是这样做的!