easyui tree refresh 问题
采用easyui实现树的异步加载,效果如图:这个时候调用$("treeData").tree('reload');方法,刷新结果和上图一样,但是展开一个节点后,在调用这个...
采用easyui实现树的异步加载,效果如图:
这个时候调用$("treeData").tree('reload');方法,刷新结果和上图一样,但是展开一个节点后,在调用这个方法,刷新的结果就只显示展开后的子节点,而不显示展开前存在的节点。比如展开管理员节点,效果如下:
这个时候调用reload方法,就只显示管理员的子节点,如下:
而本来要的想只展示根节点的效果没有出现 展开
这个时候调用$("treeData").tree('reload');方法,刷新结果和上图一样,但是展开一个节点后,在调用这个方法,刷新的结果就只显示展开后的子节点,而不显示展开前存在的节点。比如展开管理员节点,效果如下:
这个时候调用reload方法,就只显示管理员的子节点,如下:
而本来要的想只展示根节点的效果没有出现 展开
7个回答
展开全部
假设你的tree定义的时候的url是"urlA",在onBeforeExpand的时候是"urlB",那么reload这个tree的代码是这样的:
function treeReload(){
$("#tt").tree("options").url="urlA";
$("#tt").tree("reload");
}
举例:
假如自定义的tree是这样的:
<ul id="tt" class="easyui-tree" data-options="
url:"urlA",
onBeforeExpand:function(node){
$('#tt').tree('options').url="urlB"; //展开时发送请求去加载节点
}"></ul>
那么调用treeReload()方法就可以刷新这个tree了。其实就是把tree的加载子节点的url给赋值成根节点的url,然后reload。
展开全部
假设你的tree定义的时候的url是"urlA",在onBeforeExpand的时候是"urlB",那么reload这个tree的代码是这样的:
123456789101112131415function treeReload(){ $("#tt").tree("options").url="urlA"; $("#tt").tree("reload");} 举例:假如自定义的tree是这样的: <ul id="tt" class="easyui-tree" data-options=" url:"urlA", onBeforeExpand:function(node){ $('#tt').tree('options').url="urlB"; //展开时发送请求去加载节点 }"></ul> 那么调用treeReload()方法就可以刷新这个tree了。其实就是把tree的加载子节点的url给赋值成根节点的url,然后reload。
123456789101112131415function treeReload(){ $("#tt").tree("options").url="urlA"; $("#tt").tree("reload");} 举例:假如自定义的tree是这样的: <ul id="tt" class="easyui-tree" data-options=" url:"urlA", onBeforeExpand:function(node){ $('#tt').tree('options').url="urlB"; //展开时发送请求去加载节点 }"></ul> 那么调用treeReload()方法就可以刷新这个tree了。其实就是把tree的加载子节点的url给赋值成根节点的url,然后reload。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
展开节点之前记录节点,关闭删除记录的节点,reload之后就遍历得到的节点信息,然后通过expand方法展开节点。
onLoadSuccess:function()
{
var list=[];
for(var j=0;j<expnode.length;j++){
list.push(expnode[j])
}
$("#easytree").tree("collapseAll");
for(var i=0;i<list.length;i++){
var node = $('#easytree').tree('find', list[i]);
$('#easytree').tree('expand', node.target);
}
},
onBeforeExpand:function(node){
expnode.push(node.id.toString());
},
onBeforeCollapse:function (node) {
var i=expnode.indexOf(node.id.toString());
if(i>=0){
expnode.splice(i,1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你是不是load整棵tree了,而且刷的是根节点
追问
我想要的结果是load整棵树,load根节点。但是使用逐级加载,调用reload,加载的是最新展开那一级子节点。
追答
$("treeData").tree('reload');是在哪里调用的,应该加个target参数吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
哥们解决没?
追问
指定target,确实可以实现刷新那个节点下的子节点。但是如果刷新的是一级节点,这些节点没有上级节点,这个时候的target怎么指定。
追答
试试看他的parent
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询