zTree貌似没有提高清空树(所有节点)的方法

笨蛋EGG 发布于 2012/10/11 22:07
阅读 4K+
收藏 0

@zTree 你好,想跟你请教个问题:

zTree貌似没有提高清空树(所有节点)的方法?!

 destroy()方法是销毁了整个树对象。

var nodes = treeObj.getNodes();
for (var i = 0, l = nodes.length; i < l; i++) {
    treeObj.removeNode(nodes[i]);
}

使用removeNode方法删除,发现总是有残留的树节点,不能完全删除干净。

请教:

删除整个树节点应该如何操作?

先谢过!

 

加载中
0
zTree
zTree

1、使用removeNode方法删除,发现总是有残留的树节点,不能完全删除干净。

这个是怎么个意思? 请详细描述一下,谢谢。

2、如果你不destory,直接init 一次不行吗?? destory 主要是为了那些要销毁zTree 功能提供的。 如果你希望 zTree 还在,只是无接点,那么直接 init 不行吗?

0
笨蛋EGG
笨蛋EGG

暂时没有找到更简便的方法,只能先destroy,然后重新init一次……

treeObj.destroy();
$.post("/admin/amenu/webbuildmenu", {},
function (result, status) {
  if (result.status == 0) {
      var ztreesetting = { data: { simpleData: { enable: true} }, callback: { onClick: zTreeOnClick} };
      treeObj = $.fn.zTree.init($("#mainmenu"), ztreesetting, result.data);
  }
  else if (result.status === 1) {
      $.ligerDialog.error(result.info);
  }
  else {
      $.ligerDialog.error(result.info);
  }
}, "json");

还是等高手看看,有没有其他方法,谢谢!

0
笨蛋EGG
笨蛋EGG

引用来自“zTree”的答案

1、使用removeNode方法删除,发现总是有残留的树节点,不能完全删除干净。

这个是怎么个意思? 请详细描述一下,谢谢。

2、如果你不destory,直接init 一次不行吗?? destory 主要是为了那些要销毁zTree 功能提供的。 如果你希望 zTree 还在,只是无接点,那么直接 init 不行吗?

1、removeNode删除树,应该是我用得不对。

2、第二次init的时候,setting的参数需要重新一起设置么?留空会不会把原有的参数设置重置啊?

不过我都会自己试验一下的,谢谢 @zTree 大哥的解答,我现在也是用init重置树的。

0
zTree
zTree

哈哈哈哈哈,昨天没有细看代码。。。你这么删除删不干净是正常的。

请你换成:

for (var i = nodes.length-1; i >= 0; i--) {

    treeObj.removeNode(nodes[i]);

}

然后再试试看吧!

笨蛋EGG
笨蛋EGG
好的··谢谢 @zTree 大哥
返回顶部
顶部