用jsp做服务器做个简单的jqueryeasyui的异步树
1、html使用的是官方的demo里的tree.html
唯一修改的地方将url: 'tree_data.json' 修改为 url: 'treeServer.jsp',
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>jQuery EasyUI</title>
<link rel="stylesheet" type="text/css" href="/JQuery/js/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="/JQuery/js/easyui/themes/icon.css">
<script type="text/javascript" src="/JQuery/js/easyui/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="/JQuery/js/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript">
$(function(){
$('#tt1').tree({
animate:true,
onClick:function(node){
alert('you click '+node.text);
}
});
$('#tt2').tree({
checkbox: true,
url: 'treeServer.jsp',
onClick:function(node){
alert('you click '+node.text);
}
});
});
function reload(){
$('#tt2').tree('reload');
}
function getChildNodes(){
var node = $('#tt2').tree('getSelected');
if (node){
var children = $('#tt2').tree('getChildNodes', node.target);
var s = '';
for(var i=0; i<children.length; i++){
s += children[i].text + ',';
}
alert(s);
}
}
function getChecked(){
var nodes = $('#tt2').tree('getChecked');
var s = '';
for(var i=0; i<nodes.length; i++){
if (s != '') s += ',';
s += nodes[i].text;
}
alert(s);
}
function getSelected(){
var node = $('#tt2').tree('getSelected');
alert(node.text);
}
function collapse(){
var node = $('#tt2').tree('getSelected');
$('#tt2').tree('collapse',node.target);
}
function expand(){
var node = $('#tt2').tree('getSelected');
$('#tt2').tree('expand',node.target);
}
function collapseAll(){
$('#tt2').tree('collapseAll');
}
function expandAll(){
$('#tt2').tree('expandAll');
}
function append(){
var node = $('#tt2').tree('getSelected');
$('#tt2').tree('append',{
parent: node.target,
data:[{
text:'new1',
checked:true
},{
text:'new2',
state:'closed',
children:[{
text:'subnew1'
},{
text:'subnew2'
}]
}]
});
}
function remove(){
var node = $('#tt2').tree('getSelected');
$('#tt2').tree('remove', node.target);
}
function update(){
var node = $('#tt2').tree('getSelected');
if (node){
node.text = '<span style="font-weight:bold">new text</span>';
node.iconCls = 'icon-save';
$('#tt2').tree('update', node);
}
}
function isLeaf(){
var node = $('#tt2').tree('getSelected');
var b = $('#tt2').tree('isLeaf', node.target);
alert(b)
}
</script>
</head>
<body>
<h1>Tree</h1>
<p>Create from HTML markup</p>
<ul id="tt1">
<li>
<span>Folder</span>
<ul>
<li>
<span>Sub Folder 1</span>
<ul>
<li>
<span><a href="#">File 11</a></span>
</li>
<li>
<span>File 12</span>
</li>
<li>
<span>File 13</span>
</li>
</ul>
</li>
<li>
<span>File 2</span>
</li>
<li>
<span>File 3</span>
</li>
<li>File 4</li>
<li>File 5</li>
</ul>
</li>
<li>
<span>File21</span>
</li>
</ul>
<hr></hr>
<p>Create from JSON data</p>
<div style="margin:10px;">
<a href="#" onclick="reload()">reload</a>
<a href="#" onclick="getChildNodes()">getChildNodes</a>
<a href="#" onclick="getChecked()">getChecked</a>
<a href="#" onclick="getSelected()">getSelected</a>
<a href="#" onclick="collapse()">collapse</a>
<a href="#" onclick="expand()">expand</a>
<a href="#" onclick="collapseAll()">collapseAll</a>
<a href="#" onclick="expandAll()">expandAll</a>
<a href="#" onclick="append()">append</a>
<a href="#" onclick="remove()">remove</a>
<a href="#" onclick="update()">update</a>
<a href="#" onclick="isLeaf()">isLeaf</a>
</div>
<ul id="tt2"></ul>
</body>
</html>
2、treeServer.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String treeData="[{\"id\":1,\"text\":\"Folder1\",\"iconCls\":\"icon-ok\",\"children\":[{\"id\":2,\"text\":\"File1\",\"checked\":true},{\"id\":3,\"text\":\"Folder2\",\"state\":\"open\",\"children\":[{\"id\":4,\"text\":\"File3\",\"checked\":true,\"iconCls\":\"icon-reload\"},{\"id\": 8,\"text\":\"Async Folder\",\"state\":\"closed\"}]}]},{\"text\":\"Languages\",\"state\":\"closed\",\"children\":[{\"text\":\"Java\"},{\"text\":\"C#\"}]}]";
String id = request.getParameter("id");
//输出
if (id!=null) {
response.getWriter().write("[{\"text\":\"Languages\",\"state\":\"closed\",\"children\":[{\"text\":\"Java\"},{\"text\":\"C#\"}]}]");
}else{
response.getWriter().write(treeData);
}
%>
分享到:
相关推荐
jQuery EasyUI Tree提供了多种扩展功能,如展开/折叠节点、异步加载数据、添加/删除节点等。例如,通过`expandNode`方法可以展开指定的节点: ```javascript $('#tree').tree('expandNode', {id: '1-1'}); // ...
6. **树形结构(Tree)**:展示层次化的数据,支持展开、折叠、选中等操作。 五、开发实践 在实际开发中,开发者可以通过简单的HTML标记和EasyUI的JS方法,轻松实现界面的动态交互。例如,使用`$(selector).dialog...
在实际开发中,jQuery-EasyUI的一个关键优势是其对Ajax的支持,它可以轻松实现与服务器的数据交互,如异步加载数据、提交表单等。同时,EasyUI还提供了数据绑定和分页功能,这在处理大量数据时非常有用。 总的来说...
首先,`jquery-easyui-tree`标签指向的是EasyUI中的树形控件。树形控件常用于展现层次结构的数据,如目录结构、组织架构等。jQuery EasyUI的树形组件支持多种操作,包括展开/折叠节点、添加、删除和编辑节点,以及...
1. **组件丰富**:EasyUI 包含了大量的UI组件,如对话框(dialog)、表单(form)、菜单(menu)、树形控件(tree)、表格(datagrid)等,满足了开发者对界面多样化的需求。 2. **易于使用**:通过简单的HTML标记和...
在jQuery EasyUI框架中,Combotree组件是一个非常实用的功能组件,它结合了下拉列表(Combobox)与树形结构(Tree)的特点,能够实现动态加载数据并以树形结构展示。这在很多场景下都非常有用,例如产品分类、部门...
《jQuery EasyUI 1.5源码解析:深入理解form、grid与tree gridTree》 jQuery EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了丰富的组件和强大的功能,帮助开发者快速构建用户界面。在1.5版本中,EasyUI 继续...
tree: 异步树,在onlyLeafCheck:true时复选框不显示正确. fixed. Improvement treegrid:继承datagrid组件所有的selecting和checking方法。 linkbutton:图标对齐方式,支持值:'top','bottom','left','right'。 ...
1. **组件丰富**:EasyUI 包含了大量的UI组件,如对话框(Dialog)、表格(Grid)、表单(Form)、树形视图(Tree)、菜单(Menu)、按钮(Button)等,几乎涵盖了日常开发所需的全部元素。 2. **响应式设计**:...
EasyUI 提供了一套完整的 UI 组件,包括表格、表单、对话框、菜单、树形控件等,大大简化了前端开发的工作。 ### EasyUI 的核心特性 1. **轻量级**:EasyUI 基于 jQuery,本身体积小巧,加载速度快,对于性能要求...
在 "jquery-easyui-1.3.6" 中,我们可以找到诸如对话框(dialog)、表格(datagrid)、下拉框(combobox)、树形结构(tree)等多种常见Web组件。这些组件的实现都是基于 jQuery 对DOM操作的灵活性,通过事件绑定、...
### Java与jQuery-EasyUI Combotree异步树生成代码示例详解 #### 一、概述 在实际项目开发过程中,经常会遇到需要展示层级结构数据的情况,如组织架构、产品分类等。`jQuery EasyUI Combotree`组件因其简单易用、...
3. Tree:树形控件用于展示层次结构数据,1.5.3可能改进了节点展开和折叠的性能,以及异步加载数据的能力。 4. Menu:菜单组件提供了丰富的选项展示,1.5.3可能改进了触摸设备的支持,使得在移动设备上的交互更加...
在实际项目中,开发者通常会结合jQuery EasyUI与其他技术,如Ajax实现异步数据交互,使用JSON格式传输数据,配合后台框架(如Spring MVC或ASP.NET MVC)构建完整的Web应用。此外,熟悉jQuery EasyUI的API和事件处理...
它提供了诸如对话框(Dialog)、表格(Grid)、下拉选择(ComboBox)、树形控件(Tree)等常见UI元素,使得网页布局和交互变得更加简单。 2. **DEMO 示例** 包含的DEMO文件是理解EasyUI组件如何工作的关键。这些...
4. 树形控件(Tree):包括基本的树结构展示,以及节点展开、收缩、异步加载等操作。 5. 表单验证(Form Validation):展示了如何利用EasyUI进行表单验证,确保用户输入的有效性。 四、实战应用 在实际项目中,...
- **树形视图(Tree)**:呈现层次结构的数据,支持展开、折叠、选择等操作。 - **下拉列表(Combobox)**:组合框,结合文本输入和下拉选择的功能。 - **日期选择器(Datebox)**:方便用户选择日期,常用于表单...
- **树形视图(Tree)**:用于展示层级结构的数据,支持展开、折叠、异步加载等操作。 - **进度条(ProgressBar)**:展示任务进度,增加用户体验。 - **提示(ToolTip)**:鼠标悬停时显示额外信息,增强信息...
此外,jQuery EasyUI 的树组件还支持异步加载数据,这对于处理大量数据或动态加载数据非常有用。通过设置 `url` 属性,可以指定一个 URL,当节点展开时,树组件会向该 URL 发送请求获取子节点数据。 总之,jQuery ...