您的位置:首页 > Web前端 > JQuery

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

2013-08-06 15:34 309 查看
使用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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: