首页 > 代码库 > 关于ztree异步加载的问题(二)

关于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();   } }

本文转自:http://blog.sina.com.cn/s/blog_8a97a8d501011ejk.html

关于ztree异步加载的问题(二)