ztree中怎样获取选中节点的父节点及自己的index

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ztree中怎样获取选中节点的父节点及自己的index相关的知识,希望对你有一定的参考价值。

1、首先准备一个ztree结构树,如下图所示。

2、接下来看一下这里的代码,如下图所示,这里用的是angular和ztree的搭配。

3、接着可以通过getCheckedNodes来获取所有选中的节点,如下图所示。

4、然后可以打断点看一下,这里获取的是所有选中的节点,包括父节点,如下图所示。

5、接着可以看某一条记录里面都有isParent属性,这是判断是不是父节点的属性,如下图所示。

6、最后就可以通过上面的线索获取所有的最后一级节点了,如下图所示。

参考技术A 1. treeNode.getParentNode() 方法能得到其父节点
2. 目前的确没有提供 节点自身 index 的方法,可以自己利用 父节点的 children 遍历一遍来判断。对于新的浏览器 可以直接使用 indexOf ,但是老的浏览器是不支持的,请注意; 另外 如果当前节点是根节点那么它是没有父节点的,这时候可以直接利用 getNode 方法获取根节点的Array 集合本回答被提问者和网友采纳

zTree实现获取当前选中的第一个节点在同级节点中的序号

zTree实现获取当前选中的第一个节点在同级节点中的序号

 

1、实现源码

 

<!DOCTYPE html>
<html>
<head>
	<title>zTree实现基本树</title>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<link rel="stylesheet" type="text/css" href="../../../css/demo.css">
	<link rel="stylesheet" type="text/css" href="../../../css/zTreeStyle/zTreeStyle.css">
	<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
	<script type="text/javascript" src="../../../js/jquery.ztree.core-3.5.js"></script>
	<script type="text/javascript">
		<!--
		var setting = {
			data: {
				simpleData: {
					enable: true
				}
			}
		};

		var zNodes =[
			{ id:1, pId:0, name:"湖北省", open:true},
			{ id:11, pId:1, name:"武汉市", open:true},
			{ id:111, pId:11, name:"汉口"},
			{ id:112, pId:11, name:"汉阳"},
			{ id:113, pId:11, name:"武昌"},
			{ id:12, pId:1, name:"黄石市"},
			{ id:121, pId:12, name:"黄石港区"},
			{ id:122, pId:12, name:"西塞山区"},
			{ id:123, pId:12, name:"下陆区"},
			{ id:124, pId:12, name:"铁山区"},
			{ id:13, pId:1, name:"黄冈市"},
			{ id:131, pId:13, name:"黄州区"},
			{ id:132, pId:13, name:"麻城市"},
			{ id:133, pId:13, name:"武穴市"},
			{ id:134, pId:13, name:"团风县"},
			{ id:135, pId:13, name:"浠水县"},
			{ id:136, pId:13, name:"罗田县"},
			{ id:137, pId:13, name:"英山县"},
			{ id:2, pId:0, name:"湖南省", open:true},
			{ id:21, pId:2, name:"长沙市", open:true},
			{ id:211, pId:21, name:"芙蓉区"},
			{ id:212, pId:21, name:"天心区"},
			{ id:213, pId:21, name:"岳麓区"},
			{ id:214, pId:21, name:"开福区"},
			{ id:22, pId:2, name:"株洲市"},
			{ id:221, pId:22, name:"天元区"},
			{ id:222, pId:22, name:"荷塘区"},
			{ id:223, pId:22, name:"芦淞区"},
			{ id:224, pId:22, name:"石峰区"}
		];

		$(document).ready(function(){
			$.fn.zTree.init($("#baseTree"), setting, zNodes);
		});
		
		/**
		 * 获取当前选中的第一个节点在同级节点中的序号
		 */
		function indexNodes()
		{
		    var treeObj = $.fn.zTree.getZTreeObj("baseTree");
		    //获取选中的节点
			var nodes = treeObj.getSelectedNodes();
			if (nodes.length>0) 
			{
			    for(var i=0;i<nodes.length;i++)
			    {
			        var index = treeObj.getNodeIndex(nodes[i]);
			        alert("获取当前选中的第一个节点在同级节点中的序号:"+index);
			    }
			}
		}
		//-->
	</script>
 </head>

<body>
<div class="content_wrap">
	<div class="zTreeDemoBackground left">
		<ul id="baseTree" class="ztree" style="height: 300px; width:200px; overflow-y: auto"></ul>
		<input type="button" id="btn" onclick="indexNodes()" value="获取当前选中的第一个节点在同级节点中的序号"/>
	</div>
</div>
</body>
</html>

2、实现结果

 

(1)初始化

技术图片

 

(2)选择“汉口”时

技术图片

 

(3)选择“汉阳”时

技术图片

 

3、源码说明

 

var index = treeObj.getNodeIndex(nodes[i]);
alert("获取当前选中的第一个节点在同级节点中的序号:"+index);


 

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow







以上是关于ztree中怎样获取选中节点的父节点及自己的index的主要内容,如果未能解决你的问题,请参考以下文章

jstree中想要选中子节点,父节点就会变成选中状态,需要如何修改。

怎么让所有子节点被选中,父节点自动选中 TreeView

ztree中如何获取所有节点

ztree获取当前选中节点子节点id集合的方法(转载)

ztree 获取当前选中节点的子节点集合

ztree怎么获取当前节点下的子节点