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 时,不展开父节点,其他值或缺省状态都自动展开。