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编程相关代码
Dec 28 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
IE6-8中Date不支持toISOString的修复方法
May 04 Javascript
javascript实现的一个带下拉框功能的文本框
May 08 Javascript
基于jQuery仿淘宝产品图片放大镜特效
Oct 19 Javascript
JS组件Bootstrap Table使用实例分享
May 30 Javascript
值得分享的JavaScript实现图片轮播组件
Nov 21 Javascript
实例详解Node.js 函数
Jun 10 Javascript
微信小程序 setData 对 data数据影响问题
Apr 18 Javascript
优化Vue项目编译文件大小的方法步骤
May 27 Javascript
详解Vue 如何监听Array的变化
Jun 06 Javascript
Vue使用预渲染代替SSR的方法
Jul 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实现快钱支付功能(涉及到接口)
2013/07/01 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
调试php程序的简单步骤
2019/10/04 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
JMenuTab简单使用说明
2008/03/13 Javascript
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
浅谈vue自定义全局组件并通过全局方法 Vue.use() 使用该组件
2017/12/07 Javascript
jQuery替换节点元素的操作方法
2018/03/18 jQuery
vue-cli项目无法用本机IP访问的解决方法
2018/09/20 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
Vue实现页面添加水印功能
2019/11/09 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python实现Linux命令xxd -i功能
2016/03/06 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
python logging日志模块原理及操作解析
2019/10/12 Python
使用Python和百度语音识别生成视频字幕的实现
2020/04/09 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
python下对hsv颜色空间进行量化操作
2020/06/04 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
离婚协议书该怎么写
2014/10/04 职场文书
淘宝文案策划岗位职责
2015/04/14 职场文书
小学运动会宣传稿
2015/07/23 职场文书