JTree

这个树形插件JTree采用XML来配置,可无限级分类。

一,重要属性:
1,picPath:图片路径,默认是为”JTree/”
2,clickItem:当前树中,被点击的节点。clickItem是一个treeNode类型的Object。
3,selectNode:当前树中,被点击的节点所对应的XML节点(即:一个XML对象)。
4, CAPTIONATT:要以哪个XML节点的属性值做为caption显示。
5, ICONATT:以以哪个XML节点的属性值做为树枝(叶)的显示图标的地址。
二,方法:
    1,setPicPath(pPath):更改JTree的图片文件夹。
    2,create():创建树。
三,treeNode:
    1,重要属性:
        a,obj:指caption所在的HTML标签<span></span>
        b,caption:显示的文字
        c,,level:当前树枝(叶)在树中的层次。
        d,treeNodes:子树的集合,数组类型,成员是又是treeNode类型的Object
    e,parentTreeNode:当前“树枝”父树枝,就像树叶和树枝的关系一样,treeNode类型的Object
2,方法:
    a,expand(Boolean):如果当前节点是树枝(不是树叶),就展开或收缩当前树枝。
    b,click():模拟点击当前树枝(树叶),效果同鼠标点击一样。
四,如何使用:
<script language="javascript" type="text/javascript"><!--       
     var myTree=new JTree("showTree","vogueType.xml");
    //showTree是一个ID为showTree的单元格或DIV,span等
    //vogueType.xml是要解析的XML文件,确保该XML文件是无错的,本程序没有加入检查XML文件是否正确的语句。
    myTree.setPicPath("JTreePic/");
    myTree. CAPTIONATT=”caption”;//可省略,caption是XML节点里必须有的一个属性
    //ICONATT的用法同CAPTIONATT的一样。
    myTree.onclick=function(){
        //这部分的代码是JTree被点击后的处事件,参考第五条的说明。
    }
    myTree.create();
--></script>

五,功能
1,如何得到当前点击的节点的相关值:
    <script language=”javascript” type=”text/javascript”><!—
        var myTree=new JTree(…..)
        …..
        //参考第四条说明里的代码
        alert(myTree.clickItem.caption);
        alert(myTree.clickItem.level);
--></script>
    2,如何使根节点的第二个节点收缩:
        ..
        myTree.treeNodes[0].treeNodes[1].expand(false);
        或
        myTree.root.treeNodes[0].expand(false);
        ..
        说明:myTree.treeNodes[0]==myTree.root
    3,如何让当前所在的树枝(树叶)所在的父树枝收缩(展开):
        myTree.clickItem.parentTreeNode.expand(true);
    4,如何定位到指定节点(目前只能通过treeNodes):
        myTree.treeNodes[0].treeNodes[0].treeNodes[1].click();
        或
        myTree.root.treeNodes[0].treeNodes[1].click();
    5,如何查找一个节点,并定位到该节点上:
function findNode(pTree){
    var obj;
    for(var i=0;obj=pTree[i];i++){
        if(obj.caption==$("nodeCaption").value){
            obj.click();
            //obj.parentTreeNode.expand(true)
            myTree.clickItem.parentTreeNode.expand(true);
            return true;
        }
        findNode(obj.treeNodes)
    }
}
findNode(myTree.treeNodes)       
 

 

 

posted @ 2010-05-16 22:10  wupingzsf  阅读(1568)  评论(0编辑  收藏  举报