全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

解析jquery easyui tree异步加载子节点问题

easyui中的树可以从标记中建立,也可以通过指定一个URL属性读取数据建立。如果想建立一棵异步树,需要为每个节点指定一个id属性值,这样在加载数据时会自动向后台传递id参数。

<ul id="tt"></ul>

编写前台代码:

$('#tt').tree({
  url:'/demo2/node/getNodes'  // The url will be mapped to NodeController class and getNodes method
});

为测试用,建立一个节点的数据模型:

@Table(name="nodes")
public class Node extends ActiveRecordBase{
  @Id public Integer id;
  @Column public Integer parentId;
  @Column public String name;
 
  public boolean hasChildren() throws Exception{
    long count = count(Node.class, "parentId=?", new Object[]{id});
    return count > 0;
  }
}

编写后台的控制器代码:

public class NodeController extends ApplicationController{
  /**
   * get nodes, if the 'id' parameter equals 0 then load the first level nodes,
   * otherwise load the children nodes
   * @param id the parent node id value
   * @return the tree required node json format
   * @throws Exception
   */
  public View getNodes(int id) throws Exception{
    List<Node> nodes = null;
 
    if (id == 0){  // return the first level nodes
      nodes = Node.findAll(Node.class, "parentId=0 or parentId is null", null);
    } else {  // return the children nodes
      nodes = Node.findAll(Node.class, "parentId=?", new Object[]{id});
    }
 
    List<Map<String,Object>> items = new ArrayList<Map<String,Object>>();
    for(Node node: nodes){
      Map<String,Object> item = new HashMap<String,Object>();
      item.put("id", node.id);
      item.put("text", node.name);
 
      // the node has children, 
      // set the state to 'closed' so the node can asynchronous load children nodes 
      if (node.hasChildren()){
        item.put("state", "closed");
      }
      items.add(item);
    }
 
    return new JsonView(items);
  }
}

官网例子地址:http://www.jeasyui.com/tutorial/tree/tree2.php

demo下载:easyui-tree2_jb51.rar 

重要的事情说三遍!!!

$('#tt').tree({
  method:"POST",
  url:'/demo2/node/getNodes'  // The url will be mapped to NodeController class and getNodes method
});

method一定要用POST,GET的话要在URL后面用一个变量来做时间戳处理。

method一定要用POST,GET的话要在URL后面用一个变量来做时间戳处理。

method一定要用POST,GET的话要在URL后面用一个变量来做时间戳处理。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# easyui  # tree  # 异步加载  # 异步  # jquery  # 异步树  # EASYUI TREEGRID异步加载数据实现方法  # jquery easyui中treegrid用法的简单实例  # JQuery Easyui Tree的oncheck事件实现代码  # 使用jQuery+EasyUI实现CheckBoxTree的级联选中特效  # 浅谈EasyUI中Treegrid节点的删除  # EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例  # 浅析jQuery EasyUI中的tree使用指南  # Easyui Treegrid改变默认图标的方法  # EasyUi combotree 实现动态加载树节点  # 采用easyui tree编写简单角色权限代码的方法  # 要在  # 要用  # 来做  # 可以通过  # 建立一个  # 一棵  # 官网  # 大家多多  # 三遍  # 加载  # Integer  # nodes  # parentId  # Column  # Id  # Node  # public  # ActiveRecordBase  # extends  # count 


相关文章: 建站主机如何选?高性价比方案全解析  建站之星安装模板失败:服务器环境不兼容?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  中山网站推广排名,中山信息港登录入口?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在建站之星绑定自定义域名?  太平洋网站制作公司,网络用语太平洋是什么意思?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  如何快速上传自定义模板至建站之星?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  如何通过VPS建站实现广告与增值服务盈利?  如何在Golang中使用replace替换模块_指定本地或远程路径  建站主机CVM配置优化、SEO策略与性能提升指南  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  如何在阿里云香港服务器快速搭建网站?  ,怎么在广州志愿者网站注册?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  大学网站设计制作软件有哪些,如何将网站制作成自己app?  如何通过智能用户系统一键生成高效建站方案?  网站图片在线制作软件,怎么在图片上做链接?  网站制作说明怎么写,简述网页设计的流程并说明原因?  ,网站推广常用方法?  寿县云建站:智能SEO优化与多行业模板快速上线指南  贸易公司网站制作流程,出口贸易网站设计怎么做?  制作网站的基本流程,设计网站的软件是什么?  南京网站制作费用,南京远驱官方网站?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  深圳网站制作培训,深圳哪些招聘网站比较好?  定制建站是什么?如何实现个性化需求?  C#如何在一个XML文件中查找并替换文本内容  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  html制作网站的步骤有哪些,iapp如何添加网页?  建站之星在线版空间:自助建站+智能模板一键生成方案  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  建站之星代理商如何保障技术支持与售后服务?  如何在Golang中指定模块版本_使用go.mod控制版本号  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何快速配置高效服务器建站软件?  Python如何创建带属性的XML节点  如何基于云服务器快速搭建网站及云盘系统?  如何使用Golang table-driven基准测试_多组数据测量函数效率  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何通过虚拟主机快速完成网站搭建?  如何在橙子建站上传落地页?操作指南详解  如何生成腾讯云建站专用兑换码?  免费视频制作网站,更新又快又好的免费电影网站?  如何选择高效可靠的多用户建站源码资源?  如何在IIS中新建站点并配置端口与IP地址?  c++ stringstream用法详解_c++字符串与数字转换利器 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。