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 相关文章推荐
jquery滚动特效集锦
Jun 03 Javascript
基于JavaScript的操作系统你听说过吗?
Jan 28 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
Jun 21 Javascript
JS在Chrome浏览器中showModalDialog函数返回值为undefined的解决方法
Aug 03 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
搭建element-ui的Vue前端工程操作实例
Feb 23 Javascript
浅谈Vue响应式(数组变异方法)
May 07 Javascript
浅谈如何使用webpack构建多页面应用
May 30 Javascript
Vue插件打包与发布的方法示例
Aug 20 Javascript
vue 2.8.2版本配置刚进入时候的默认页面方法
Sep 21 Javascript
微信小程序sessionid不一致问题解决
Aug 30 Javascript
jQuery操作元素的内容和样式完整实例分析
Jan 10 jQuery
总结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之第五天
2006/10/09 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
“不能执行已释放的Script代码”错误的原因及解决办法
2007/09/09 Javascript
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
jQuery实现数字加减效果汇总
2014/12/16 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
一百行JS代码实现一个校验工具
2019/04/30 Javascript
使用JS location实现搜索框历史记录功能
2019/12/23 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
Python Selenium异常处理的实例分析
2021/02/28 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
WiFi云数码相框:Nixplay
2018/07/05 全球购物
奥地利票务门户网站:oeticket.com
2019/12/31 全球购物
如何利用find命令查找文件
2016/11/18 面试题
门卫班长岗位职责
2013/12/15 职场文书
关于爱国的演讲稿
2014/05/07 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
学校总务处领导干部个人对照检查材料思想汇报
2014/10/06 职场文书
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
大学生个人学习总结
2015/02/15 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
辣妈辣妹观后感
2015/06/10 职场文书