EasyUI Tree_box 配合后台

 1 $(function () {
 2             var first = true;
 3             $("#tree_box").tree({
 4                 cache: false,
 5                 url: "/xx/em/product_tree.action",
 6                 animate: true,
 7                 dnd: true,
 8                 lines: true,
 9                 loadFilter: function (data) {//loading root
10                     if (first) {
11                         var root = [];
12                         var node = {text: ‘菜单‘, state: ‘open‘, id: "0"};
13                         node.children = data;
14                         root.push(node);
15                         first = false;
16                         return root;
17                     } else {
18                         return data;
19                     }
20                 },
21                 onClick: function (node) {
22                     if (node.id != "0")
23                         frames["dataFrame"].location.href = "/xx/xx/xx.action?id="+node.id;
24                     else
25                         frames["dataFrame"].location.href = "/xx/xx/blank.html";
26                 }
27             });
28         });

以上是Js代码,loadFilter 加载过滤实现的是在,在生成的树上加一个根节点。

下面插入局部Html代码,主要是前端的一个基本的布局,和树的显示条件。

 1 <div class="easyui-layout" style="width:1330px;height:610px;">
 2     <div region="center">
 3         <div class="easyui-tabs" fit="true" border="false" id="tabs">
 4             <div title="数据维护">
 5                 <iframe frameborder=‘0‘ scrolling=‘auto‘ style=‘width:100%;height:100%‘ name="dataFrame"
 6                         src="/xx/xx/blank.html"></iframe>
 7             </div>
 8         </div>
 9     </div>
10     <div region="west" style="width: 230px;padding:15px;background-color: #D4E3F6;" title="菜单" split="true">
11         <ul id="tree_box"></ul>
12     </div>
13 </div>

后台是用Spring Mvc实现的,下面插入局部后台代码,返回数据类型是Json 类型。

 1  public Object productTree(String id) {
 2         try {
 3             id = StringUtil.nullToAnother(id, "0");
 4             //sql
 5             StringBuilder sqlStr = new StringBuilder();
 6             sqlStr.append(" select e.n_id id, e.vc_name   text, " +
 7                     "   decode(e.n_parid,‘0‘,‘closed‘,‘open‘) state " +
 8                     "   from table e " +
 9                     "  where "+
10                     "    and e.n_parid = ‘" + id + "‘");
11             //jsonArray
12             JSONArray jsonArray = new JSONArray();
13             List<Map<String, Object>> trees = jdbcTemplate.queryForList(sqlStr.toString());
14             for (Map map : trees) {
15                 JSONObject json = new JSONObject();
16                 json.element("id", map.get("ID"));
17                 json.element("text", map.get("TEXT"));
18                 json.element("pid", map.get("PID"));
19                 json.element("state", map.get("STATE"));
20                 jsonArray.add(json);
21             }
22
23             return jsonArray.toString();
24         } catch (Exception ex) {
25             logger.error("");
26             ex.printStackTrace();
27             return null;
28         }
29
30     }

实现原理,初始化的时候,显示在根节点的数据是在id在一个特定值的时候,比如是空值,或者给它一个特定的值,后面相应的子选项,通过点击等相应事件来传递id来获取其全部子项。

时间: 2024-11-13 07:47:29

EasyUI Tree_box 配合后台的相关文章

EasyUI+MVC-搭建后台框架

一.EasyUI简介: jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面. 官方网站:http://www.jeasyui.com/ 二.下载EasyUI包搭建后台框架 下载最新的EasyUI包:http://www.jeasyui.com/download/index.php 下载最新的Easyui主题包:http://www.jeasyui.com/extension/themes

前台Jcrop配合后台Graphics实现图片裁剪并上传

Jcrop:一个功能强大的图片裁剪插件 版本:Jcrop v0.9.12 VS版本:vs2015 下载地址:http://code.ciaoca.com/jquery/jcrop/version/Jcrop-0.9.12.zip 本文主要讲的是,在前台通过file选择图片,然后用Jcrop裁剪好图片后,把偏移量等参数传值到后台,在后台通过Graphics进行图片的截取并上传到服务器,显示一下重点代码 HTML 部分<div class="example"> <img

vue使用富文本编辑器vue-quill-editor实现配合后台将图片上传至七牛

一.全局注册:main.js import Vue from 'vue' import VueQuillEditor, { Quill } from 'vue-quill-editor' import { ImageDrop } from 'quill-image-drop-module' import ImageResize from 'quill-image-resize-module' import 'quill/dist/quill.core.css' import 'quill/dis

前端数据加密。配合后台加密可以达到双重加密。

var dataED = new Function();dataED.prototype = { code:{a:1,b:2,c:3,d:4,e:5,f:6,g:7,h:8,i:9,j:11,k:12,l:13,m:14,n:15,o:16,p:17,q:18,r:19,s:10,t:21,u:22,v:23,w:24,x:25,y:26,z:27,}, encode:function(Strings){ var data = this.code, test = Strings; var dat

关于easyui表格中从后台查询到的结果怎么显示到前台界面问题

首先要知道,easyui表格从后台接收的数据格式一定是json格式. 将查询出的结果以键值对的形式存入map集合中,最后将map集合转为json串在用字符流打印出来即可.前提要引入第三方架包 部分代码如下: //easyui表格从后台接收的数据格式一定是json格式 Map<String,Object> map = new HashMap<String, Object>(); map.put("rows",分页查询的结果集合); //注意这里的total是所有数

【SSH项目实战03】使用EasyUI搭建后台页面框架

前面两节,我们整合了SSH并且抽取了service和action部分的接口,可以说基本开发环境已经搭建好了,这一节我们搭建一下后台的页面.我们讨论一下两种搭建方式:基于frameset和基于easyUI.最后我们会使用easyUI来开发. 1. 抽取公共JSP页面 我们先来看一下当前的jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

SSM——(二):easyUI的CRUD

1.在WebContent下新建admin目录,添加index.html(用来显示user表的CRUD): 总结: 1.datagrid接收的必须是json数据: 2.使用分页插件会自动向后台传递String page,String rows,分别是第几页和每页多少条数据.需要返回totle.rows,分别代表总体多少条数据和此时(根据传过来的page和rows)应该返回的数据: 3.easyui适合做后台管理系统的界面,各种组件可以做到很好的界面分离.相比bootstrpe使用跟简单,但是后者

asp.net+mvc+easyui+sqlite 简单用户系统学习之旅

首次接触asp.net开发,希望把自己的学习之旅写下来,一方面做个知识归纳技术总结,另一方面开放到博客中,和大家一起交流学习! asp.net是目前流行的web开发技术之一,是微软旗下开发的基于.net framework的一套免费的网络应用框架.因为其强大专业的后台支持,和配套优秀的vs开发工具,越来越成为web开发者和公司的选择.学习asp.net可以参考极客学院的知识体系图. http://www.jikexueyuan.com/path/aspdotnet/ 1. C#语言基础 2. A

XXX系统发展综述(SSH+Jquery EasyUI)

一个.该项目总体介绍 前一段时间的工作.我大概花了两三个月开发Web管理信息系统.用于框架集Struts2.3.1+Spring3.0+Hibernate3+Jquery EasyUI1.3.5.业务逻辑并不复杂.数据收集完毕(问卷的形式).计算处理和形成报告公布.EasyUI是一个非常优秀的JS UI框架,使用简单方便,效果也还能够,是UI效果和带宽速度之间的一个折中之选. 系统中还有新闻公布模块,用到了富文本编辑器,在比較了非常多插件之后,选择了kindeditor,原因非常easy.由于它