Ztree 树的初始化、获取当前节点、刷新节点

本文介绍了Ztree的初始化方法,包括$.fn.zTree.init()的使用,以及如何获取当前选中节点、刷新节点和异步加载子节点的操作。重点讲述了刷新节点、父节点以及异步加载时的不同设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、$.fn.zTree.init(obj,zSetting,zNodes)zTree的初始化方法,创建zTree必须使用此方法

var setting = {
			view: {
				selectedMulti: false
			},
			data : {
				simpleData : {
					enable : true,// 是否之用简单数据
					idKey : 'ID', // 对应json数据中的ID
					pIdKey : 'PARENT_ID', // 对应json数据中的父ID
					rootPId : "0"
				},
				key : {
					title : "NAME",
					name : "NAME",
					isParent : "CHILDCNT"
				}
			},
			async:{
				enable:true,
				type: "post",
				dataType: "json",
				url:path+'/rest/baseorgMaintain/queryTreeNode',
				autoParam:["ID=parentId","NAME"],
				contentType:"application/x-www-form-urlencoded;charset=utf-8",
				dataFilter: function(treeId, parentNode,responseData){	
					var dataNodes = responseData.resultValue;
					if (dataNodes) {
						for ( var i = 0, length = dataNodes.length; i < length; i++) {
							var node = dataNodes[i];
							if (node.CHILDCNT > 0) {// 节点的isParent=true,才会异步加载子节点
								node.isParent = true;
							} else {
								node.isParent = false;
							}
						}
					}

					return dataNodes;
				}
			},
			callback: {
				onAsyncSuccess: function(event, treeId, treeNode, msg){
						var treeObj = $.fn.zTree.getZTreeObj(treeId);
						if (treeNode != undefined) { 
							treeObj.selectNode(treeNode);
						}else{
							var nodes = treeObj.getNodes();
							if(nodes!=''&&nodes != null && nodes != undefined && nodes.length > 0){
								treeObj.selectNode(nodes[0]);
							}
							
						}
						
					},
				//点击事件
				onClick : function(event,treeId,treeNode) {
					var parentId = treeNode.ID;
					$('#baseorglist').datagrid('reload',{parentId:parentId});
				}
			}
		};
	//调用init初始化方法
	$.fn.zTree.init($("#baseOrgTree"), setting);

2.获取当前选中节点

var treeObj = $.fn.zTree.getZTreeObj("baseOrgTree");
var node =  treeObj.getSelectedNodes()[0];

3.获取选中节点的集合,通过getSelectedNodes()

var treeObj = $.fn.zTree.getZTreeObj("baseOrgTree");
var node =  treeObj.getSelectedNodes();

4.刷新当前节点,组织树的节点增加后,实时刷新树的节点。

/**
 * 刷新当前节点
 */
function refreshNode() {
	/*根据 treeId 获取 zTree 对象*/
	var zTree = $.fn.zTree.getZTreeObj("baseOrgTree"),
	type = "refresh",
	silent = false,
	/*获取 zTree 当前被选中的节点数据集合*/
	nodes = zTree.getSelectedNodes();
	/*强行异步加载父节点的子节点。[setting.async.enable = true 时有效]*/
	zTree.reAsyncChildNodes(nodes[0], type, silent);
}

5.刷新当前节点的父级节点

  /**
    	 * 刷新当前选择节点的父节点
    	 */
    	function refreshParentNode() {
    		var zTree = $.fn.zTree.getZTreeObj("scriptTree"),
    		type = "refresh",
    		silent = false,
    		nodes = zTree.getSelectedNodes();
    		/*根据 zTree 的唯一标识 tId 快速获取节点 JSON 数据对象*/
    		var parentNode = zTree.getNodeByTId(nodes[0].parentTId);
    		/*选中指定节点*/
    		zTree.selectNode(parentNode);
    		zTree.reAsyncChildNodes(parentNode, type, silent);
    	}

6、zTreeObj.reAsyncChildNodes强行异步加载父节点的子节点。

  • [setting.async.enable = true 时有效]
    参数:parentNode JSON 指定需要异步加载的父节点 JSON 数据,
    reloadType String reloadType = “refresh” 表示清空后重新加载。
    reloadType != “refresh” 时,表示追加子节点处理
    isSilent Boolean 设定异步加载后是否自动展开父节点。
    isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值