请选择 进入手机版 | 继续访问电脑版

easyui tree 使用 expand 实现仅展开一层效果

[复制链接]
发表于 2018-12-17 09:33:41 |显示全部楼层
对于easyui的tree控件,一般都使用expandAll来实现树形菜单所有层级的展开,但如果需要指定展开某层级则需要先获取对应层级节点,然后使用expand展开单一节点。


有一个类别的树形菜单分为了3层,首先先设置tree仅显示第一层,然后直接使用getChildren方法获取第一层的节点集合,再循环让其节点expend即可展开第二层,但为了第三层不被展开,所以在给tree传json数据时,传递一个level进行判断。



实例代码如下:
$(‘#’ + treeId).tree({
    checkbox: false,
    url: “/Material/MaterialClass/GetTreeDataJson?parent=0&ismarket=1”,
    animate: true,
    lines: true,
    onClick: function (node) {
      CheckTreeNode(node);
    },
    onBeforeExpand: function (node, param) {
    },
    onLoadSuccess: function (node, data) {
      if (data) {
        $(data).each(function (index, d) {
        //只展开2级
          if (this.state == ‘closed’ && this.level < 2) {
            var children = $(‘#’ + treeId).tree(‘getChildren’);
            for (var i = 0; i < children.length; i++) {
              $(‘#’ + treeId).tree(‘expand’, children.target);
            }
            //全部打开 、合并操作
            //$(‘#’ + treeId).tree(‘expandAll’);
            //$(‘#’ + treeId).tree(“collapseAll”);
          }
         });
      }
    }
});
您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|沙漏笔记

GMT+8, 2019-9-20 05:45 , Processed in 0.113032 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Copyright © 2015-2018 xuejava网 / 鲁ICP备17054568号-1
回顶部