1.刷新节点分为刷新整个树和刷新指定节点
(1)刷新整个树
$("#tree").tree("reload");
(2)刷新指定节点(方法:传入需要刷新节点的父节点的target属性作为参数)
var noderm=$("#tree").tree("getSelected"); var parent=$("#tree").tree("getParent",noderm.target); $("#tree").tree("reload",parent.target);
2.进行保存操作的时候,reload之后还能把之前选择的节点选中
项目背景:点击保存之后,页面会通过reload刷新,但是之前选择的节点,刷新完以后,选中状态没了。
解决方案:点击左侧树的节点时记录点击的nodeId,加载完以后重新选择该节点。
var nodeId=null; $("#tree").tree({ url:'url', method:post, onclick:function(node){ nodeId=node.id;//记录左侧树选中节点的id } onLoadSuccess:function(data){ if(nodeId != null){ var node=$("#tree").tree('find',nodeId); $("#tree").tree('expanTo',node.target).tree('select',node.target); } } });
找到指定的节点并返回该节点对象(找到指定的节点,并将该节点选中)
// find a node and then select it var node = $('#tt').tree('find', 12); $('#tt').tree('select', node.target);
保存操作的地方
$("#btnCommit").click(function(){ $.ajax({ url:'url', type:'post', dataType:'json', data:{ mc:mcs }, success:function(data){ $("#tree").tree('reload'); } }); });
3.进行删除操作
var nodeId=null; $("#tree").tree({ url:'url', method:post, onclick:function(node){ nodeId=node.id;//记录左侧树选中节点的id } onLoadSuccess:function(data){ if(nodeId != null){ var node=$("#tree").tree('find',nodeId); $("#tree").tree('expanTo',node.target).tree('select',node.target); } } });
删除操作的地方(删除操作要对要删除节点的父节点进行刷新,而不是对整棵树进行刷新)
$("#btnDel").click(function(){ $.ajax({ url:'url', type:'post', dataType:'json', data:{ mc:mcs }, success:function(data){ var noderm=$("#tree").tree('getSelected'); var parent= $("#tree").tree('getParent',noderm.target); $("#tree").tree('reload',parent.target); nodeId=null; } }); });