ztree中如何设置选中节点的那个分支处于展开状态,而其他的处于关闭状态

发布于 2021-11-24 06:21:54 字数 0 浏览 950 评论 14

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(14

只为守护你 2021-12-01 02:36:52

在点击事件里 zTree.expandAll(false);  关闭所有展开的节点就行了。

沦落红尘 2021-12-01 02:36:43

这么多,===三个等于号是?

别低头,皇冠会掉 2021-12-01 02:36:37

回复
哦,看的挺仔细啊,呵呵,那个写错了,是两个=

躲猫猫 2021-12-01 02:35:13

请问有没有异步加载树的简单的例子。可以根据数据库传过来的值,默认选择该节点。

沙与沫 2021-12-01 02:27:17

回复
你看看官网http://www.ztree.me/v3/main.php#_zTreeInfo

看透却不说透 2021-12-01 02:23:03

我的代码如下://ztree的设置
  var setting = {
    treeId:"tree",   
    data: {
     keep: {
         leaf: false,
         parent: false
     },
     simpleData: {
      enable: true,
      idKey: "id",
      pIdKey: "PId"
     }
    },
    callback: {
     onClick: tree_onClick,
     beforeExpand: beforeExpand,
        onExpand: onExpand 
    }
  };
  //只展开一跳路径
  var curExpandNode = null;
  function beforeExpand(treeId, treeNode) {
   var pNode = curExpandNode ? curExpandNode.getParentNode():null;
   while (pNode) {
    if (pNode === treeNode) {
     break;
    }
    pNode = pNode.getParentNode();
   }
   if (!pNode) {
    singlePath(treeNode);
   }
  }
  function singlePath(newNode) {
   if (newNode === curExpandNode) return;
   if (curExpandNode && curExpandNode.open==true) {
    var zTree = $.fn.zTree.getZTreeObj("tree");
    if (newNode.parentTId === curExpandNode.parentTId) {
     zTree.expandNode(curExpandNode, false, true);
    } else {
     var newParents = [];
     while (newNode) {
      newNode = newNode.getParentNode();
      if (newNode === curExpandNode) {
       newParents = null;
       break;
      } else if (newNode) {
       newParents.push(newNode);
      }
     }
     if (newParents!=null) {
      var oldNode = curExpandNode;
      var oldParents = [];
      while (oldNode) {
       oldNode = oldNode.getParentNode();
       if (oldNode) {
        oldParents.push(oldNode);
       }
      }
      if (newParents.length>0) {
       for (var i = Math.min(newParents.length, oldParents.length)-1; i>=0; i--) {
        if (newParents[i] !== oldParents[i]) {
         zTree.expandNode(oldParents[i], false, true);
         break;
        }
       }
      } else {
       zTree.expandNode(oldParents[oldParents.length-1], false, true);
      }
     }
    }
   }
   curExpandNode = newNode;
  }
 
  function onExpand(event, treeId, treeNode) {
   curExpandNode = treeNode;
  }

百思不得你姐 2021-12-01 02:03:52

代码我贴在下面了,你看看

刘备忘录 2021-12-01 00:39:51

我也遇到同样的问题,请问怎么解决的?

像你 2021-11-30 22:42:44

我看了设置了一下,不管用啊,不知道哪里写错了,

只为守护你 2021-11-30 05:02:45

你怎么设定的? 把你的数据发出来看看

奢华的一滴泪 2021-11-28 12:03:54

现在我设置好了,谢谢你

混吃等死 2021-11-28 07:15:57

不用客气!

柳絮泡泡 2021-11-27 23:09:55

这需要使用自己的规则,参考Demo:
http://www.baby666.cn/v3/demo.php#_503

时光清浅 2021-11-27 06:04:11

我记得有一open属性吧。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文