博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
easyui tree的简单使用
阅读量:6578 次
发布时间:2019-06-24

本文共 2974 字,大约阅读时间需要 9 分钟。

hot3.png

1、帮助文档

所有节点都包含以下属性:

id:节点id,这个很重要到加载远程服务器数据 which is important to load remote data

text: 显示的节点文本

state: 节点状态, 'open' 或者 'closed', 默认是 'open'. 当设置为 'closed', 节点所有的子节点将从远程服务器站点加载

checked: 指明检查节点是否选中.

attributes: 可以添加到节点的自定义属性

children: 一个节点数组,定义一些子节点

一些示例:

异步加载树

tree 支持内置的异步加载模式,用户创建一个空的tree,然后定义一个远程服务器站点返回json数据用于填充tree来异步满足异步加载需求.例如:

<ul class="easyui-tree" data-options="url:'get_data.php'"></ul>    

tree的加载是通过URL  'get_data.php'站点.子节点的加载依赖于父节点的状态.当展开一个关闭节点,如果节点没有子节点加载,将发送节点id值作为http参数,参数命名为'id'到远程服务器,通过以上URL定义.检索子节点数据

看看这个从服务器返回的数据

2、前台:

      
          
        
 $("#tree").tree({   url:'getOrgTree.do',   method: 'GET',   animate: true,   checkbox: true,   cascadeCheck:true,//层叠选中   lines:true,//显示虚线效果   onLoadSuccess:function(node,data){    var nodeDep = $('#tree').tree('find',checkeid);    if (null != nodeDep && undefined != nodeDep)    {        $('#tree').tree('check',nodeDep.target);    }   },   onCheck:function(node, checked)   {    if (checked)    {        //这段逻辑自拟        }         else         {         }        }   });

3、后台

后台这段代码个人觉得写的不好,但是又没查到怎样写,暂且先这样吧

public class OrgTree  {      private String id;            private String text;            private List
 children = new ArrayList
();            private String state;      //getter & setter  }

23115744_F1tc.jpg

@RequestMapping("/getOrgTree")  public void getOrgTree(String id, HttpServletRequest request, HttpServletResponse response)  {      List
 orgList = new ArrayList
();      OrgModel model = new OrgModel();      String spid = "";      //父节点的id为-1      model.getBean().setParentid("-1");  //按条件查询出所有的父节点      orgList = organService.selectByCondition(model);            // 查询出所有的父节点      List
 otree = new ArrayList
();      // 遍历所有父节点      if (null != orgList && orgList.size() > 0)      {          for (Organization o : orgList)          {              OrgTree ot = new OrgTree();              ot.setId(o.getId());              ot.setText(o.getOrgName());                            OrgModel childMod = new OrgModel();              childMod.getBean().setParentid(o.getId());              //根据父节点id查询出其子节点              List
 orgChild = organService.selectByCondition(childMod);              if (orgChild != null && orgChild.size() > 0)              {                  List
 list = new ArrayList
();                  for (Organization child : orgChild)                  {                      OrgTree ochild = new OrgTree();                      ochild.setId(child.getId());                      ochild.setText(child.getOrgName());                      list.add(ochild);                  }                  if(list.size() < 0)                  {                      ot.setState("open");                  }                  else                  {                      ot.setState("closed");                  }                  ot.setChildren(list);              }                            otree.add(ot);                        }      }              ComUtil.writerJson(response, otree);  }

效果如下:

本来是想实现每次只能选择一个选项的,但是一直有问题,问题出在那个cascadeCheck属性上,选择了一个节点时,就把另一个选中的节点给unchecked,但是由于这个层叠选中状态的,在只有一个子节点时,把父节点unchecked,但是同时子节点也就去勾选了,该功能未实现,待修改下方法在说。

转载于:https://my.oschina.net/ydsakyclguozi/blog/469655

你可能感兴趣的文章
尝试使用iReport4.7(基于Ubuntu Desktop 12.04 LTS)
查看>>
安装GIT(基于Ubuntu Desktop 12.04 LTS)
查看>>
动态规划:金矿模型
查看>>
子元素应该margin-top为何会影响父元素【转】
查看>>
AJAX 状态值(readyState)与状态码(status)详解
查看>>
BZOJ3668:[NOI2014]起床困难综合症(贪心)
查看>>
jQuery 中bind(),live(),delegate(),on() 区别
查看>>
C++编程中const和#define的区别
查看>>
LightOJ 1245(Harmonic Number (II))
查看>>
小知识记录
查看>>
109. Convert Sorted List to Binary Search Tree
查看>>
玩转HTML5移动页面
查看>>
Please review your Gradle project setup in the android/ folde
查看>>
css3 animate 和关键帧 @-webkit-keyframes
查看>>
文字链接颜色设置
查看>>
ChannelHandler揭秘(Netty源码死磕5)
查看>>
图片转流
查看>>
常见幻灯片实现
查看>>
ubunto应用软件
查看>>
wireshark----教你如何抓包
查看>>