jQuery EasyUI API 中文文档 - 树(Tree)

本文详细介绍了 JeasyUI 中 Tree 组件的使用方法,包括配置选项、事件处理及各种 API 方法。Tree 组件允许用户创建具有层级结构的数据展示,并支持拖拽、动画等高级功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$.fn.tree.defaults 重写了 defaults

依赖

  • draggable
  • droppable

用法

Tree 能在 <ul> 元素里定义,此标记可以定义为叶节点和子节点。下面是一个示例:

 

 

<ul id="tt">  
      <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>  
         </ul>  
     </li>  
     <li>  
         <span>File21</span>  
     </li>  
 </ul>

 

Tree 也可以在一个空的 <ul> 元素里定义。

 

 

 <ul id="tt"></ul>  

 

$('#tt').tree({   
      url:'tree_data.json'  
});  

 

树数据的格式(Tree data format

每个节点可以包含下列特性:

  • id:节点的 id,它对于加载远程数据很重要。
  • text:显示的节点文字。
  • state:节点状态, 'open' 'closed',默认是 'open'。当设为 'closed' 时,此节点有子节点,并且将从远程站点加载它们。
  • checked:指示节点是否被选中。 Indicate whether the node is checked selected.
  • attributes:给一个节点追加的自定义属性。
  • children:定义了一些子节点的节点数组。

示例:

 

 

[{
	"id":1,
	"text":"Folder1",
	"iconCls":"icon-save",
	"children":[{
		"id":2,
		"text":"File1",
		"checked":true
	},{
		"id":3,
		"text":"Folder2",
		"state":"open",
		"children":[{
			"id":4,
			"text":"File2",
			"attributes":{
				"p1":"value1",
				"p2":"value2"
			},
			"checked":true,
			"iconCls":"icon-reload"
		},{
			"id": 8,
			"text":"Folder3",
			"state":"closed",
			"children":[{
				"id":9,
				"text":"File31"
			},{
				"id":10,
				"text":"File32"
			}]
		}]
	}]
},{
	"text":"Languages",
	"state":"closed",
	"children":[{
		"id":"j1",
		"text":"Java"
	},{
		"id":"j2",
		"text":"C#"
	}]
}]

 

 

特性

名称

类型

说明

默认值

url

string

获取远程数据的 URL

null

method

string

获取数据的 http method

post

animate

boolean

定义当节点展开折叠时是否显示动画效果。

false

checkbox

boolean

定义是否在每个节点前边显示 checkbox

false

cascadeCheck

boolean

定义是否级联检查。

true

onlyLeafCheck

boolean

定义是否只在叶节点前显示 checkbox

false

dnd

boolean

定义是否启用拖放。

false

data

array

加载的节点数据。

null

事件

很多事件的回调函数需要 'node' 函数,它包含下列特性:

  • id:绑定到节点的标识值。
  • text:显示的文字。
  • checked:是否节点被选中。
  • attributes:绑定到节点的自定义属性。
  • target:目标的 DOM 对象。

名称

参数

说明

onClick

node

当用户点击一个节点时触发, node 参数包含下列特性:
id
:节点的 id
text
:节点的文字
checked
:节点是否被选中
attributes
:节点自定义属性
target
:被点击目标的 DOM 对象

onDblClick

node

当用户双击一个节点时触发。

onBeforeLoad

node, param

当加载数据的请求发出前触发,返回 false 就取消加载动作。

onLoadSuccess

node, data

当数据加载成功时触发。

onLoadError

arguments

当数据加载失败时触发, arguments 参数与 jQuery.ajax 'error' 函数一样。.

onBeforeExpand

node

节点展开前触发,返回 false 就取消展开动作。

onExpand

node

当节点展开时触发。

onBeforeCollapse

node

节点折叠前触发,返回 false 就取消折叠动作。

onCollapse

node

当节点折叠时触发。

onCheck

node, checked

当用户点击 checkbox 时触发。

onBeforeSelect

node

节点被选中前触发,返回 false 就取消选择动作。

onSelect

node

当节点被选中时触发。

onContextMenu

e, node

当右键点击节点时触发。

onDrop

target, source, point

当节点被拖拽施放时触发。
targetDOM 对象,拖放的目标节点。
source
:源节点。
point
:表示拖放操作,可能是值是: 'append''top' 'bottom'

onBeforeEdit

node

编辑节点前触发。

onAfterEdit

node

编辑节点后触发。

onCancelEdit

node

当取消编辑动作时触发。

方法

名称

参数

说明

options

none

返回树的 options

loadData

data

加载树的数据。

getNode

target

获取指定的节点对象。

getData

target

获取指定的节点数据,包括它的子节点。

reload

target

重新加载树的数据。

getRoot

none

获取根节点,返回节点对象。

getRoots

none

获取根节点们,返回节点数组。

getParent

target

获取父节点, target 参数指节点的 DOM 对象。

getChildren

target

获取子节点, target 参数指节点的 DOM 对象。

getChecked

none

获取所有选中的节点。

getSelected

none

获取选中的节点并返回它,如果没有选中节点,就返回 null

isLeaf

target

把指定的节点定义成叶节点, target 参数表示节点的 DOM 对象。

find

id

找到指定的节点并返回此节点对象。

select

target

选中一个节点, target 参数表示节点的 DOM 对象。

check

target

把指定节点设置为勾选。

uncheck

target

把指定节点设置为未勾选。

collapse

target

折叠一个节点, target 参数表示节点的 DOM 对象。

expand

target

展开一个节点, target 参数表示节点的 DOM 对象。

collapseAll

target

折叠所有的节点们。

expandAll

target

展开所有的节点们。

expandTo

target

从指定节点的根部展开。

append

param

追加一些子节点们到一个父节点, param 参数有两个特性:
parent
DOM 对象,追加到的父节点,如果没有分配,则追加为根节点。
data:数组,节点们的数据。

toggle

target

切换节点的展开/折叠状态, target 参数表示节点的 DOM 对象。

insert

param

在指定节点的前边或后边插入一个节点, param 参数包含下列特性:
before
DOM 对象,前边插入的节点。
after
DOM 对象,后边插入的节点。
data
:对象,节点数据。

remove

target

移除一个节点和它的子节点们, target 参数表示节点的 DOM 对象。

pop

target

弹出一个节点和它的子节点们,此方法和 remove 一样,但是返回了移除的节点数据。

update

param

跟心指定的节点, param 参数有下列特性:
target
DOM 对象,被更新的节点)、idtexticonClschecked、等等。

enableDnd

none

启用拖放功能。

disableDnd

none

禁用拖放功能。

beginEdit

nodeEl

开始编辑节点。

endEdit

nodeEl

结束编辑节点。

cancelEdit

nodeEl

取消编辑节点。

 

转载地址:http://www.cnblogs.com/Philoo/archive/2011/11/18/jeasyui_api_tree.html

######################################## jQuery EasyUI 1.5.2 版中文版开发工具包 EasyUI Development Toolkit Build 1 说明文档 Version 1.2 ######################################## 注意:本开发包欢迎转载,但是请完整保留该文档及开发包目录结构,谢谢! 【一.开发包组成】 jquery-easyui-1.5.2 │ ├demo:easyui普通网页演示页面代码库(可以从中参考很多组件的用法,是个非常好用的demo库。) │ ├demo-mobile:easyui手机端网页演示页面代码库(可以从中参考很多组件的用法,是个非常好用的demo库。) │ ├docs:easyui中文API文档【PDF、EXE和CHM版】(该文档系本人原创翻译制作。) │ ├extension:easyui第三方插件库(里面会收录官方提供以及第三方提供的各类优秀插件,每个插件的用法最终都会体现到API文档当中。) │ ├locale:easyui国际化资源文件库(需要用到国际化的时候就需要在页面中引用该包路径下的文件。) │ ├plugins:easyui核心功能组件分解后的独立插件库(需要配合easyloader.js一起使用。) │ ├src:easyui部分非核心组件的源代码库(核心大组件的源代码并未公布,比如datagrid、combo和tree等。) │ ├themes:easyui的皮肤库(皮肤库中会收录所有网上能找得到的皮肤,所以大家不用再去自己乱搜了。) │ ├changelog.txt:easyui版本官方更新日志文件[英文版](该文件内容可以参考API当中的更新说明。) │ ├easyloader.js:easyui组件加载器(easyui提供了2种组件加载方式,这就是其中一种,当使用该方式的时候可以不必引入jquery.easyui.min.js文件,具体用法请参看api文档。) │ ├jquery.easyui.min.js:easyui的完整组件包文件(当使用了该文件的时候就可以不必引入easyloader.js文件,具体用法请参考官方demo或api文档。) │ ├jquery.min.js:jQuery框架库文件,该版本的jQuery库提供的是最新的1.11.1版,能够支持IE6、7、8。 │ ├licence_gpl.txt:GNU开源协议文档。 │ └readme.txt:官方的说明,主要告诉你你可以购买商业版来获得完整源代码以及官方的支持。 【二.开发包说明】   本开发包是为了方便大家日常开发使用的,特别是在离线或断网环境下可以以最快、最便捷的方式找到自己需要的东西。由于本包是发布的第一个版本,所以东西固然会不全面,在后续版本中会逐步加入并完善,以解决大家的后顾之忧。如果你也有什么好的扩展可以推荐给大家的话,大家可以用邮件的形式将扩展以及相关的API说明发送给我,我会在测试确认之后打包到下一个版本的扩展库中。我的邮箱是:richie696@163.com 【三.版本说明】   本开发包的大版本更新将会同步EasyUI版本更新,当在同一个easyui版本中间有2次或者更多更新版本的时候,会更改开发包的build版本,比如首个版本是jquery-easyui-EDT-1.5.2-build1,那第二个版本就是jquery-easyui-EDT-1.5.2-build2,以此类推。每次更新都会附上详细的更新说明。 【四.其它杂谈】   另外,建议Javascript基础不是太好的同学去找些书籍看看,书籍有很多,不过我只看过Javascript高级编程,现在应该已经出到第三版了,个人感觉挺好的,有需要的同学可以度娘一下!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值