Jquery easyui 实现动态树


Posted in Javascript onNovember 17, 2015

在上篇文章给大家介绍了jquery中EasyUI实现异步树,本文给大家介绍jquery easyui实现动态树。

首先是在jsp页面中引入相关的js文件
在body中加入流程列表,通过后天拼接json数据
具体内容请看下面代码详情吧。

首选在jsp页面中引入相关的js

<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>

添加script

<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>

在body中加入

<body> 
  <ul id="tt2">
  <li state="closed" id='0'><span>流程列表</span></li>
  </ul>
 </body>

后台拼接json数据

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;
 }
}

下面一段代码是EasyUI Jquery 动态加载树,点击节点加载

<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>
Javascript 相关文章推荐
跟随鼠标旋转的文字
Nov 30 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
Nov 20 Javascript
利用JavaScript的AngularJS库制作电子名片的方法
Jun 18 Javascript
解决JS请求服务器gbk文件乱码的问题
Oct 16 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
Jan 03 Javascript
微信小程序 动态绑定事件并实现事件修改样式
Apr 13 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
如何手写一个简易的 Vuex
Oct 10 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
Nov 02 Javascript
总结JavaScript中布尔操作符||与&amp;&amp;的使用技巧
Nov 17 #Javascript
实例代码讲解jquery easyui动态tab页
Nov 17 #Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
Nov 17 #Javascript
基于Jquery easyui 选中特定的tab
Nov 17 #Javascript
jquery实现简单的表单验证
Nov 17 #Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 #Javascript
基于jquery实现可定制的web在线富文本编辑器附源码下载
Nov 17 #Javascript
You might like
PHP+MySQL 手工注入语句大全 推荐
2009/10/30 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
php通过字符串调用函数示例
2014/03/02 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
js中arguments的用法(实例讲解)
2013/11/30 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
状态机的概念和在Python下使用状态机的教程
2015/04/11 Python
Python线程的两种编程方式
2015/04/14 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
Flask之flask-script模块使用
2018/07/26 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
python判断计算机是否有网络连接的实例
2018/12/15 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
2019/08/12 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
python爬虫请求头设置代码
2020/07/28 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
有关HTML5中背景音乐的自动播放功能
2017/10/16 HTML / CSS
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
入党自我评价优缺点
2014/01/25 职场文书
应聘销售主管的求职信
2014/04/26 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
运动会报道稿300字
2014/10/02 职场文书
2014年文秘工作总结
2014/11/25 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python