小妹求助 ajax动态树实例 急~ 网上有很多:比如 阿信 的tree,梅子的 等等搜下就很多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://download.csdn.net/source/234333 国外有个dhtmlx.com是做这个的。还不错 JKTree也可以参考一下:http://download.csdn.net/source/346399 我是要单选树形菜单的一个项所以每个前面加个radio不知道该怎么做我现在也考虑像ls那么实现一层一层向下 用DHTMLXtree吧,它那里有完整的解决方案。 <html><body>/*--<script language="javascript"> document.writeln("<scr"+"ipt language=\"javascript\" src=\"et.js\" type=\"text/javascript\">"); document.writeln("</scr"+"ipt>"); var fso, fo, fi, fc, s, d, dir; var str = new Array(); var fname = "fo" fso = new ActiveXObject("Scripting.FileSystemObject");////////////////////当前路径 d = window.location.href; str = d.split("/"); dir = ""; for (i=3;i<str.length-1;i++) { dir += str[i]; dir += "/"; } fo = fso.GetFolder(dir); dispFiles(fo); dispFolders(fo,fname);////////////////////文件function dispFiles(folder){ fc = new Enumerator(folder.files); for (; !fc.atEnd(); fc.moveNext()) { file = fc.item(); document.writeln("<a href='"+file+"' target = 'right'><h5>"+file.Name+"</h5></a>"); }}//////////////////////文件夹function dispFolders(folder,fname){ fname = fname + "_"; var fx = new Enumerator(folder.Subfolders); var i = 0; for (; !fx.atEnd(); fx.moveNext()){ i++; s = fx.item(); fname = fname + i; document.writeln("<a onClick='et("+fname+",this)'>+"+s.Name+"</a><hr>"); document.writeln("<div id="+fname+" style='display:none;margin-left:10px'>"); dispFiles(s); dispFolders(s,fname); document.writeln("</div>"); }}window.parent.right.document.body.innerHtml="asdfasdfasdfasdf"</script>--*/</body></html>俺自己写的,显示但前目录下的所有文件和子目录(不能有空格),有不懂的来我博克研究 参见:http://www.v-ec.com/dh20156/code/dhatv3/ 看了DHTMLXtree的资料感觉比较方便但是不明白怎么生成需要的xml我的表结构只有父子关系只能根据父子判断层级,其他层级等信息都没有请问cnchart等各位 有完成的例子吗能发给我看下吗??[email protected]谢谢 还有请问cnchart 你下的DHTMLXtree是1.4的吗我打开没有看到有radio的例子只有document里面有介绍 现在有1.6版本的可下,但如需支持radio的tree,则需要购买付费的pro版,免费版不支持radio。我研究了一下它网站的example文档,将仅支持radio的tree提了出来,你可到http://gz.web35.net.cn/dhtmlxTree_radiostyle.rar去下载。具体使用请仿照里面的test.htm,详细的说明文档在http://www.dhtmlx.com/docs/products/docsExplorer/index.shtml?node=dhtmlxtree。关于生成XML数据,你可以利用后台程序生成一个树的XML文件,然后用dhtmlxtree加载 非常感谢cnchart 我看了你的radio的例子你实现的是 同一层级的单选如果我想实现 整个树只能选择一个选项应该如何修改呢??我的表结构只有父子关系 是不是要递归的遍历表才能生成 那样的xml??谢谢 表结构上只有父子关系是不够的,一般地,你要实现一个树,在数据结构上要有:树ID|树名称 |父节点ID|树的路径|树的深度|根节点ID|子节点数|同级别上一节点ID|同级别下一节点ID比如这个树:01一级aaa04│├ 二级aaa10││ ├ 三级aaa11││ └ 三级bbb05│├ 二级bbb12││ ├ 三级ccc13││ └ 三级ddd06│└ 二级ccc02一级bbb07│├ 二级ddd14││ ├ 三级eee15││ └ 三级fff08│├ 二级eee16││ └ 三级ggg09│└ 二级fff03一级ccc在表里面是:树ID|树名称 |父节点ID|树的路径|树的深度|根节点ID|子节点数|同级别上一节点ID|同级别下一节点ID1 |一级AAA|0 |0 |0 |1 |3 |0 |22 |一级BBB|0 |0 |0 |2 |3 |1 |33 |一级CCC|0 |0 |0 |3 |0 |2 |04 |二级AAA|1 |1 |1 |1 |2 |0 |55 |二级BBB|1 |1 |1 |1 |2 |4 |66 |二级CCC|1 |1 |1 |1 |0 |5 |07 |二级DDD|2 |2 |1 |2 |2 |0 |88 |二级EEE|2 |2 |1 |2 |1 |7 |99 |二级FFF|2 |2 |1 |2 |0 |8 |010 |三级AAA|4 |1,4 |2 |1 |0 |0 |1111 |三级BBB|4 |1,4 |2 |1 |0 |10 |012 |三级CCC|5 |1,5 |2 |1 |0 |0 |1313 |三级DDD|5 |1,5 |2 |1 |0 |12 |014 |三级EEE|7 |2,7 |2 |2 |0 |0 |1515 |三级FFF|7 |2,7 |2 |2 |0 |14 |016 |三级GGG|8 |2,8 |2 |2 |0 |0 |0约定:父节点ID为0时,表示顶层树的路径为0时,表示顶层树的深度为0时,表示顶层同级别上一节点ID为0时,表示它是该节点的第一个同级别下一节点ID为0时,表示它是该节点的最后一个如果你理解了这个,要实现一个树就容易多了。如果整个树只有一个节点可供选择,这个就容易多了,也不必使用dhtmlxtree了,坛子里有很多,你搜索一下吧。 1:深度和路径是冗余字段,目的是为提高效率如果表里没有深度和路径,你可以自己算出来.2:你的表里是一个扁平化了的树,如果你的节点是一级一级从服务端load出来的,深度和路径对你有什么帮助?3:如果是一次性得到所有节点,并且保证孙节点的parentId一定小于子节点的parentId,也可以//sql: select parentId,itemType,itemId,itemName form tree_table order by parentId,itemType,itemId;得到一个扁平化的数据,再通过js进行个一次for循环就可以把这个扁平化的数据转成一个带level的树结构数据了4:"非常感谢cnchart 我看了你的radio的例子 你实现的是 同一层级的单选 如果我想实现 整个树只能选择一个选项 应该如何修改呢?? "所有radio同名就可以了.基本问题可以问身边的同事,如果先自己想一下能不能解决,再问别人,可能效率更高一点. 使用dhtmltree控件生成树形列表 在静态html里面加载xml文件没问题 把代码放在jsp页面中后 加载同一个xml文件 却提示 Errot type:LoadXML Description:Incorrect XML Error type:DataStructure Description:Xml reffers to not existing parent 我把jsp生成的静态html保存后也可以使用 就是直接运行jsp不行 struts2 中用到fckeditor整合webEQ整合已经完毕,但是struts2那面接收不到webEQ的数学公式..! 怎么设置让鼠标移出到标签后,信息框自动消失? 每秒刷新一次 JS大神来 js问题 我又来了。。。 如何打开一个page替换当前的masterpage 有这种发键值的功能么? 如何在DIV层中动态生成一个DIV层? 关于global.asa 如何判断一URL 带参数与不带参数的文件一样? 运行在什么地方…… 关于旋转图片。下面这段代码,在IE里就可以执行,但为什么在firefox里就不能呢?我用的firefox版本是2.0.0.12。谢谢高手
http://download.csdn.net/source/346399
所以每个前面加个radio
不知道该怎么做我现在也考虑像ls那么实现
一层一层向下
<body>
/*--
<script language="javascript">
document.writeln("<scr"+"ipt language=\"javascript\" src=\"et.js\" type=\"text/javascript\">");
document.writeln("</scr"+"ipt>");
var fso, fo, fi, fc, s, d, dir;
var str = new Array();
var fname = "fo"
fso = new ActiveXObject("Scripting.FileSystemObject");
////////////////////当前路径
d = window.location.href;
str = d.split("/");
dir = "";
for (i=3;i<str.length-1;i++)
{
dir += str[i];
dir += "/";
}
fo = fso.GetFolder(dir);
dispFiles(fo);
dispFolders(fo,fname);
////////////////////文件
function dispFiles(folder)
{
fc = new Enumerator(folder.files);
for (; !fc.atEnd(); fc.moveNext())
{
file = fc.item();
document.writeln("<a href='"+file+"' target = 'right'><h5>"+file.Name+"</h5></a>");
}
}
//////////////////////文件夹
function dispFolders(folder,fname)
{ fname = fname + "_";
var fx = new Enumerator(folder.Subfolders);
var i = 0;
for (; !fx.atEnd(); fx.moveNext()){
i++;
s = fx.item();
fname = fname + i;
document.writeln("<a onClick='et("+fname+",this)'>+"+s.Name+"</a><hr>");
document.writeln("<div id="+fname+" style='display:none;margin-left:10px'>");
dispFiles(s);
dispFolders(s,fname);
document.writeln("</div>");
}
}
window.parent.right.document.body.innerHtml="asdfasdfasdfasdf"
</script>
--*/
</body>
</html>
俺自己写的,显示但前目录下的所有文件和子目录(不能有空格),有不懂的来我博克研究
http://www.v-ec.com/dh20156/code/dhatv3/
感觉比较方便
但是不明白怎么生成需要的xml
我的表结构只有父子关系
只能根据父子判断层级,
其他层级等信息都没有请问cnchart等各位 有完成的例子吗
能发给我看下吗??[email protected]
谢谢
我打开没有看到有radio的例子
只有document里面有介绍
我看了你的radio的例子
你实现的是 同一层级的单选
如果我想实现 整个树只能选择一个选项
应该如何修改呢??我的表结构只有父子关系
是不是要递归的遍历表
才能生成 那样的xml??
谢谢
树ID|树名称 |父节点ID|树的路径|树的深度|根节点ID|子节点数|同级别上一节点ID|同级别下一节点ID比如这个树:01一级aaa
04│├ 二级aaa
10││ ├ 三级aaa
11││ └ 三级bbb
05│├ 二级bbb
12││ ├ 三级ccc
13││ └ 三级ddd
06│└ 二级ccc
02一级bbb
07│├ 二级ddd
14││ ├ 三级eee
15││ └ 三级fff
08│├ 二级eee
16││ └ 三级ggg
09│└ 二级fff
03一级ccc
在表里面是:
树ID|树名称 |父节点ID|树的路径|树的深度|根节点ID|子节点数|同级别上一节点ID|同级别下一节点ID
1 |一级AAA|0 |0 |0 |1 |3 |0 |2
2 |一级BBB|0 |0 |0 |2 |3 |1 |3
3 |一级CCC|0 |0 |0 |3 |0 |2 |0
4 |二级AAA|1 |1 |1 |1 |2 |0 |5
5 |二级BBB|1 |1 |1 |1 |2 |4 |6
6 |二级CCC|1 |1 |1 |1 |0 |5 |0
7 |二级DDD|2 |2 |1 |2 |2 |0 |8
8 |二级EEE|2 |2 |1 |2 |1 |7 |9
9 |二级FFF|2 |2 |1 |2 |0 |8 |0
10 |三级AAA|4 |1,4 |2 |1 |0 |0 |11
11 |三级BBB|4 |1,4 |2 |1 |0 |10 |0
12 |三级CCC|5 |1,5 |2 |1 |0 |0 |13
13 |三级DDD|5 |1,5 |2 |1 |0 |12 |0
14 |三级EEE|7 |2,7 |2 |2 |0 |0 |15
15 |三级FFF|7 |2,7 |2 |2 |0 |14 |0
16 |三级GGG|8 |2,8 |2 |2 |0 |0 |0约定:
父节点ID为0时,表示顶层
树的路径为0时,表示顶层
树的深度为0时,表示顶层
同级别上一节点ID为0时,表示它是该节点的第一个
同级别下一节点ID为0时,表示它是该节点的最后一个
如果你理解了这个,要实现一个树就容易多了。
如果整个树只有一个节点可供选择,这个就容易多了,也不必使用dhtmlxtree了,坛子里有很多,你搜索一下吧。
深度和路径是冗余字段,目的是为提高效率
如果表里没有深度和路径,你可以自己算出来.2:
你的表里是一个扁平化了的树,
如果你的节点是一级一级从服务端load出来的,
深度和路径对你有什么帮助?3:
如果是一次性得到所有节点,并且保证孙节点的parentId一定小于子节点的parentId,
也可以
//sql: select parentId,itemType,itemId,itemName form tree_table order by parentId,itemType,itemId;
得到一个扁平化的数据,
再通过js进行个一次for循环就可以把这个扁平化的数据转成一个带level的树结构数据了4:
"非常感谢cnchart 我看了你的radio的例子 你实现的是 同一层级的单选 如果我想实现 整个树只能选择一个选项 应该如何修改呢?? "
所有radio同名就可以了.
基本问题可以问身边的同事,如果先自己想一下能不能解决,再问别人,可能效率更高一点.
在静态html里面加载xml文件没问题
把代码放在jsp页面中后
加载同一个xml文件 却提示
Errot type:LoadXML
Description:Incorrect XML Error type:DataStructure
Description:Xml reffers to not existing parent 我把jsp生成的静态html保存后也可以使用
就是直接运行jsp不行