全网整合营销服务商

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

免费咨询热线: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# 服务器GC和工作站GC的区别和设置  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  建站之星代理如何优化在线客服效率?  如何通过远程VPS快速搭建个人网站?  宿州网站制作公司兴策,安徽省低保查询网站?  如何在Golang中指定模块版本_使用go.mod控制版本号  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何使用Golang安装API文档生成工具_快速生成接口文档  ,巨量百应是干嘛的?  贸易公司网站制作流程,出口贸易网站设计怎么做?  文字头像制作网站推荐软件,醒图能自动配文字吗?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  一键网站制作软件,义乌购一件代发流程?  企业微网站怎么做,公司网站和公众号有什么区别?  建站主机与虚拟主机有何区别?如何选择最优方案?  如何在云虚拟主机上快速搭建个人网站?  制作网页的网站有哪些,电脑上怎么做网页?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何用y主机助手快速搭建网站?  如何在阿里云香港服务器快速搭建网站?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何批量查询域名的建站时间记录?  如何通过二级域名建站提升品牌影响力?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  微信小程序 input输入框控件详解及实例(多种示例)  如何彻底删除建站之星生成的Banner?  建站之星安装后如何自定义网站颜色与字体?  如何彻底卸载建站之星软件?  Swift中switch语句区间和元组模式匹配  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  上海网站制作开发公司,上海买房比较好的网站有哪些?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  建站之星如何一键生成手机站?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机解析:虚拟主机配置与服务器选择指南  如何在IIS中配置站点IP、端口及主机头?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  官网网站制作腾讯审核要多久,联想路由器newifi官网  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何用5美元大硬盘VPS安全高效搭建个人网站?  建站之星后台管理系统如何操作?  非常酷的网站设计制作软件,酷培ai教育官方网站?  相册网站制作软件,图片上的网址怎么复制?  如何选择高效稳定的ISP建站解决方案?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息? 

您的项目需求

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