JQuery动态显示当前选中节点的父节点

来源:互联网 发布:频无损剪切软件 编辑:程序博客网 时间:2024/06/05 09:48

使用JQuery动态显示当前选中叶子节点的所有父节点效果图如下:


全部代码如下:

1、定义显示父节点标签的id。

<a id="ind_current" title="当前指标"></a>

2、通过当前叶子节点循环获取得到父节点,直至根节点,并在相应标签处循环遍历读取数据。

<script type="text/javascript">$(function(){$('#index-tree').tree({    url:'ind_tree.json',    onClick: function(node){            var isleaf=$(this).tree('isLeaf', node.target);            if(isleaf){                                              //获取当前选中叶子节点的所有父节点                var nodes=[];//定义数组存放各个节点的指标名称                nodes.push(node.text); //放入当前节点的指标名称                    var pnode=$(this).tree('getParent', node.target);//获取当前节点的父节点                while(pnode!=null){                nodes.push(pnode.text); //依次放入各个父节点,直到根节点为止                pnode=$(this).tree('getParent', pnode.target);                }                nodes.reverse(); //数组元素倒序排序                $("#ind-current").text(""); //清空数据,若不清空则所有选中过的节点相应数据都将显示                //遍历数组,循环取数                $.each(nodes,function(){                var html=this;//这里的this指向每次遍历中数组的当前元素                     if(this!=names){                $("#ind-current").html( $("#ind-current").html() + html + "-" );                }else{                $("#ind-current").html( $("#ind-current").html() + html );                }                                });            }        }});});</script>