以前都是用JQuery对树的支持来实现目录树的,近来闲来无事就弄了下dTree,感觉其无限级目录还是挺好的,而且它的使用也比较方便,基本上就是先把要用的js文件即dtree.js和css文件dtree.css引入,另外就是它默认的图片,当然这些图片都是可以自己指定的,它的css样式也可以自己改变的!
关于dTree就先谈谈它的node,dTree的node的构造方法可以指定下列参数,
如:
有了node以后就是构建树了
在最后还可以指定一些配置参数:
像这些结点的相关信息,我们一般都是要从后台来得到的,或者从数据库,或者从配置文件,如果加上复杂的权限控制就得每次都到后台取一次了,
而从后台得到这些数据的话一般常用的是以ajax请求取得json格式的数据,然后在页面上就可以非常方便的使用了,但是使用ajax请求的时候
就会有一个问题出现了,那就是一般的ajax请求都是异步的,这时候,页面不会等ajax的请求返回就已经往下面执行了,等ajax请求返回的时候
页面已经不能再使用其返回的数据进行操作了,所以这个时候需要使用ajax的同步请求了!ajax的同步请求很简单只要在ajax的请求的时候加上一个
区别于ajax请求类型的参数就行了,一般都是async,像JQuery的用法就是这样的:
使用了ajax的同步请求以后,页面在解析到ajax请求的时候就会等ajax请求返回以后再继续往下面执行,这样就可以利用
ajax的返回值来进行对dTree的node的操作了!
还有一个问题就是我们常常会利用Frame来将页面进行布局成左边是menu栏,而右边是主页面,上边是一些基本信息这样的结构
这样我们就需要在点击menu栏的叶子结点时,在mainFrame里面显示请求返回后的内容,其实要实现这个要求挺简单的,只需要
把node的target指定为mainFrame的name即可
下面是一段完整的代码:
原文地址:http://blog.csdn.net/elim168/article/details/40586013