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 相关文章推荐
用javascript动态调整iframe高度的方法
Mar 06 Javascript
JavaScript中json使用自己总结
Aug 13 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
JS判断客户端是手机还是PC的2个代码
Apr 12 Javascript
自己使用jquery写的一个无缝滚动的插件
Apr 30 Javascript
详细解密jsonp跨域请求
Apr 15 Javascript
javascript实现控制文字大中小显示
Apr 28 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
JavaScript实现异步图像上传功能
Jul 12 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
Aug 02 Javascript
jquery将json转为数据字典的实例代码
Oct 11 jQuery
js实现表单项的全选、反选及删除操作示例
Jun 05 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
Laravel 5框架学习之模型、控制器、视图基础流程
2015/04/08 PHP
详解PHP+AJAX无刷新分页实现方法
2015/11/03 PHP
Zend Framework生成验证码并实现验证码验证功能(附demo源码下载)
2016/03/22 PHP
javascript Discuz代码中的msn聊天小功能
2008/05/25 Javascript
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
基于jquery库的tab新形式使用
2012/11/16 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
jquery制作居中遮罩层效果分享
2014/02/21 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
2016/06/08 Javascript
浅谈移动端之js touch事件 手势滑动事件
2016/11/07 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
vue+webpack中配置ESLint
2018/11/07 Javascript
js序列化和反序列化的使用讲解
2019/01/19 Javascript
解决vue 单文件组件中样式加载问题
2019/04/24 Javascript
Vue 实现一个命令式弹窗组件功能
2019/09/25 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
uin-app+mockjs实现本地数据模拟
2020/08/26 Javascript
python黑魔法之编码转换
2016/01/25 Python
CentOS6.5设置Django开发环境
2016/10/13 Python
django定期执行任务(实例讲解)
2017/11/03 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
乐天旅游香港网站:日本饭店预订
2017/11/29 全球购物
英语老师推荐信
2014/02/26 职场文书
药品业务员岗位职责
2014/04/17 职场文书
节电标语大全
2014/06/23 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
python 下划线的多种应用场景总结
2021/05/12 Python
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
POST提交数据常见的四种方式
2022/01/18 HTML / CSS