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;
}
});
});