Heim >Web-Frontend >js-Tutorial >Jquery easyui implementiert dynamisches tree_jquery
Im vorherigen Artikel habe ich Ihnen EasyUI in JQuery zur Implementierung eines asynchronen Baums vorgestellt. Dieser Artikel stellt Ihnen JQuery EasyUI zur Implementierung eines dynamischen Baums vor.
Fügen Sie zunächst die relevanten js-Dateien in die JSP-Seite ein
Fügen Sie die Prozessliste zum Hauptteil hinzu und verbinden Sie die JSON-Daten übermorgen
Spezifische Inhalte finden Sie in den Codedetails unten.
Es wird bevorzugt, relevante Js in die JSP-Seite einzuführen
<link rel="stylesheet" type="text/css" href="<%=path %>/css/jquery_easyui/themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="<%=path %>/css/jquery_easyui/themes/icon.css"> <script type="text/javascript" src="<%=path %>/js/jquery_easyui/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="<%=path %>/js/jquery_easyui/jquery.easyui.min.js"></script>
Skript hinzufügen
<script> $(function(){ $('#tt2').tree({ checkbox: false, url: '<%=path%>/formconfig/loadWfNodes.do', onBeforeExpand: function(node){ $('#tt2').tree('options').url = '<%=path%>/formconfig/loadWfNodes.do?wfId='+node.id; } }); }); </script>
Fügen Sie
zum Text hinzu<body> <ul id="tt2"> <li state="closed" id='0'><span>流程列表</span></li> </ul> </body>
JSON-Daten im Hintergrund zusammenfügen
package com.aegon_cnooc.oa.formconfig.action; import java.io.PrintWriter; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import com.aegon_cnooc.framework.base.action.BaseAction; import com.aegon_cnooc.oa.formconfig.service.FormConfigService; import com.aegon_cnooc.oa.ibatis.to.TuOafWfTO; import com.aegon_cnooc.oa.ibatis.to.TuOafWfnodesTO; import com.aegon_cnooc.util.StringUtil; /** * 加载流程下的节点的名称 * @Author: liuxinghui * @Date: 2011-9-8 * @Version: 2.0 * @Despcrition: */ public class LoadWfNodesAction extends BaseAction{ private FormConfigService formConfigService; public ActionForward executeAction(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String wfId=request.getParameter("wfId"); String jsonstr = "["; if(StringUtil.isNotEmpty(wfId)&&"0".equals(wfId)){ List wfList=formConfigService.findWf(); for(int i=0;i<wfList.size();i++){ TuOafWfTO wfTo=(TuOafWfTO)wfList.get(i); jsonstr=jsonstr+ "{\n" + " \"id\":"+wfTo.getWfid()+",\n" + " \"text\":\"<a href='javaScript:void(0)' target='mainFrame'>"+wfTo.getWfname()+"</a>\",\n" + " \"state\":\"closed\"\n" + " },"; } int end=jsonstr.length()-1;//去掉最后一个逗号 String json=jsonstr.substring(0,end); json=json+"]"; response.setContentType("application/json;charset=gbk"); response.setCharacterEncoding("gbk"); PrintWriter pw = response.getWriter(); pw.write(json); pw.flush(); }else{ List wfNodes=formConfigService.findWfNodesById(wfId); for(int i=0;i<wfNodes.size();i++){ TuOafWfnodesTO wfNodesTo=(TuOafWfnodesTO)wfNodes.get(i); jsonstr=jsonstr+ "{\n" + " \"id\":"+wfNodesTo.getNodeid()+",\n" + " \"text\":\"<a href='" + request.getContextPath()+ "/formconfig/loadGroupByWfIdAndNodeId.do?wfId="+wfId+"&nodeId="+wfNodesTo.getNodeid()+"' target='mainFrame'>"+wfNodesTo.getGenstepname()+"("+wfNodesTo.getNodeid()+")</a>\",\n" + " \"state\":\"closed\"\n" + " },"; } int end=jsonstr.length()-1;//去掉最后一个逗号 String json=jsonstr.substring(0,end); json=json+"]"; response.setContentType("application/json;charset=gbk"); response.setCharacterEncoding("gbk"); PrintWriter pw = response.getWriter(); pw.write(json); pw.flush(); } return null; } public void setFormConfigService(FormConfigService formConfigService) { this.formConfigService = formConfigService; } }
Der folgende Code ist der dynamische Ladebaum von EasyUI Jquery. Klicken Sie zum Laden auf den Knoten
<script type="text/javascript"> $(function() { $(document).ready(function() { $.post("./test/tree.action", {}, function(json) { $("#tt").tree({ data : json.itemsList, onClick : function(node) { $.post("./test/tree.action", { "id" : node.id }, function(json) { $('#tt').tree('append', { parent : node.target, data : json.data }); }, "json"); } }); }, "json"); }); }); </script> </head> <body> <ul id="tt"></ul> </body>