当选择一个节点修改信息保存,异步刷新节点并保持节点选中状态。
// 获取id为tree的zTree对象
var zTree = $.fn.zTree.getZTreeObj("tree");
// 获取当前被选中的节点数据集合,假设只选中一个节点,并且该节点为子节点
var nodes = zTree.getSelectedNodes();
// 强行异步加载父节点的子节点
// 注意:[setting.async.enable = true 时才有效]
// getParentNode获取节点的父节点。
zTree.reAsyncChildNodes(nodes[0].getParentNode(), "refresh");
// zTree.getNodeByParam根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象
// 先获取节点属性
var nodeId = nodes[0].id;
// 用于捕获异步加载正常结束的事件回调函数
zTree.setting.callback.onAsyncSuccess = function(event, treeId, treeNode, msg) {
// zTree.selectNode选中指定节点
// 注意,zTree.getNodeByParam("id", nodeId)获取到是一个对象数组
zTree.selectNode(zTree.getNodeByParam("id", nodeId)[0]);
}