zoukankan      html  css  js  c++  java
  • Jquery树控件ZTree异步加载

    这里面主要设计ztree的setting变量的async属性设置:

    var setting = {
           async: {
               enable: true,
               url:InitServiceIpsData.action,
               autoParam:[id, name],
               dataFilter: filter      
           },

    当点击展开树节点时,会请求url指定的action获取子节点数据,然后绑定到ztree上。

    注意这里后台action返回的是JSON字符串,而ztree绑定新的节点数据只接收数组,所以需要在绑定前用filter函数进行数据清洗转换操作,将字符串转换为数组:

    //过滤异步加载ztree时返回的数据 
    function filter(treeId, parentNode, childNodes) {
        if (!childNodes) 
            return null;        
        childNodes = eval((+childNodes+));  //必须转换为[{id:103,pId:1,name:'子节点3'}];这样的格式 
        return childNodes;
    }    

    这样点击展开ztree树节点时,就会请求action获取子节点数据并绑定了。

    下面是后台action的一个实现:

    public String InitServiceIpsData(){
      HttpServletRequest request = ServletActionContext.getRequest();
      String id = request.getParameter(id);
      String name = request.getParameter(name);
      System.out.println(请求获取+name+的ip列表);
       List<hashmap<string,object>> list = new ArrayList<hashmap<string,object>>();          
      for(int i = 1; i <= 2; i++){  
        HashMap<string,object> hm = new HashMap<string,object>();            
        hm.put(id, id + 0 + i);
           hm.put(pId, id);
        hm.put(name, name + _IP_ + i);
        hm.put(isParent, false);
        list.add(hm);
      }  
               
      JSONArray finalJson = JSONArray.fromObject(list);
      this.initServiceIpsData = finalJson.toString();
      return SUCCESS;
    }
  • 相关阅读:
    安装future包,django-crispy-forms
    django学习笔记(七)-----视图
    django学习笔记(六)-----模型
    django学习笔记(五)------path
    django学习笔记(四)---基本流程三(视图,模板基本使用)
    django学习笔记(三)--基本流程二---admin站点管理
    django学习笔记(二)基本流程一
    C#时间
    可空类型的DateTime转换成字符串
    asp.net mvc Razor一点小注意点
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/6677789.html
Copyright © 2011-2022 走看看