菜鸟笔记之zTree
ztree相关
获取当前树中选中的结点:
//获取当前的树
var treeObj=$.fn.zTree.getZTreeObj("tree");
//获取当前选中的结点集合
var nodes=treeObj.getSelectedNodes();
//根据tid获取选中的某个结点(因为就一个,所以默 认选中数组的第一个)
var node=zTree.getNodeByTId(nodes[0].tId);
//判空是否存在
if(node){
//如果存在,保持该节点一直选中(在不刷新页面的情况下,保持操作之前的结点选择)
treeObj.selectNode(node,true);
}
增删改基本操作:
增加:
zTree.addNodes(node,{id:data.right.id,.......})
//node为之前选中的结点
//addNodes是在选中的结点的下添加子结点
//data.right是后台封装的ajax的返回值
//"{}"中填写的是结点中需要的属性以及对应的值,用逗号隔开,属性名与值之间冒号
删除:
不刷新页面时,结点删除完成后,应当将选中改为原本选中的上一级,因此可以通过获取当前选中结点的父结点
//nodes是之前获取选中结点的结果集
var parentNode=nodes[0].getParentNode();
//获取选中的结点
var node=zTree.getNodeByTId(nodes[0].tId);
//判断结点是否存在
if(node){
//存在,则移除对应结点
zTree.removeNode(nodes[0],false);
}
var treeObj=$.fn.zTree.getZTreeObj("tree");
//原本选中的结点已删除,因此将结点的选中换成原本选中结点的父结点
treeObj.selectNode(parentNode,true);
修改:
//将结点对应的属性直接进行修改
nodes[0].name=data.data.right.name;
//直接将结点进行更新
zTree.updateNode(nodes[0]);