Js用递规方法实现机构树?求代码

JavaScript010

Js用递规方法实现机构树?求代码,第1张

给你介绍一个很好的树形控件:ztree

劝你别递归实现机构树,因为机构的数量是会增加的,如果机构庞大就会很影响效率。

一般机构树都是异步加载的,先加载根节点(比如XX集团公司),点击节点的时候加载子节点。这样避免初次加载的时候缓慢。

用ztree里面有示例,很方便很美观,功能强大,我的项目就用的这个。希望能帮到你。

树形的数据结构很固定,如果你不知道什么是树,那就先去补补数据结构吧。知道什么是树了,就开始考虑ui,ui中每个树节点应当具有一个维持当前状态的变量,这个状态就是当前节点是展开的还是收缩的,并且要添加对应的鼠标事件,以便切换节点的状态,单个节点处理完毕,就要考虑到子节点的问题,当一个节点因事件展开后,其所有子节点应该按照原有顺序显示出来,首先为了保持树形的ui特点,它们应该是距离其父节点有一定距离的,然后,它们也应当向其父节点一样能够在鼠标事件中切换状态

以你给出的网址,想获取选中的节点的值,可以添加以一个方法,

function getTreeSelected(){

if(d.selectedFound){

return d.aNodes[d.selectedNode].name

}

return ''

}

点击确定时 alert(getTreeSelected())即可