关于ztree异步加载的问题

本来以为这个异步加载会很难控制,因为考虑到ztree节点图标的控制,结果并不是那么困难,ztree自己控制图标,你只要在json中设置isParent:true,它自己会识别父节点并控制图标,以下是核心代码:

 

<!--前台js代码以及html-->

 

//参数设置
var setting={
        async: {
          enable: true,
          url:"${pageContext.request.contextPath}/page/department_ascyDepartment.do",
          autoParam:["id"]
        },
     simpleDate: {
    enable:true,
           idKey:"id",
           idPKey:"parentId",
           rootPid:null
       }
   };

//一切预备好后初始化树
 $(document).ready(function(){  
 
       //创建对象
    var  demoTree = $.fn.zTree.init($("#treeDemo"), setting);

});

 

.....

    <div class="content_wrap">
 <div class="zTreeDemoBackground left">
  <ul id="treeDemo" class="ztree"  style="margin-left:10px;background-color:white;" >
   <img alt="请稍后,正在加载数据……" src="<%=basePath%>images/loading.gif"/>
  </ul>
 </div>

.....

 

<!--后台代码 json数据封装-->

 

 
 public void  ascyDepartment(){
  JSONArray jsonArr=new JSONArray();
  try {
   pId=getRequest().getParameter("id");
   Map<String,String> map=new HashMap<String, String>();
   map.put("pId", pId);
   List<Department> departs=departmentService.getChildNodes(map);
   for(Department depart:departs){
    JSONObject json=new JSONObject();
    json.put("id",depart.getId());
    json.put("name", depart.getName());
    json.put("parentId", depart.getParentId());
    if(depart.getHasChild()!=null){
     json.put("isParent", true);
    }
    jsonArr.add(json);
   }
   HttpServletResponse response=getResponse();
   response.setCharacterEncoding("utf-8");
   response.getWriter().print(jsonArr.toString());
  } catch (Exception e) {
   e.printStackTrace();
  }
  
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值