Dynatree使用
最近用到了Dynatree的树形结构,记录一下它的用法。
需求:
1.jquery.js
2.jquery-ui.custom.js
3.jquery.cookie.js
下载dynatree,放到资源路径下,在页面引入ui.dynatree.css,jquery.dynatree.js。
$(function(){
$("#tree").dynatree({ //tree生成树形结构所在的节点的ID如<div id="tree"></div>
title:"树形结构", //树的名字
minExpandLevel:1, //1:根节点不能展开
imagePath:'', //文件夹节点图片路径
children:'json', //从这个(json,html,xml)对象初始化一个树结构
initId:'treeUl', //从一个ID为treeUl的ul元素初始化一个树结构
initAjax:{url:"",data:{id:2}}, //异步请求服务器数据初始化一个树结构,url服务器url,data是url请求参数
autoFocus:true, //true:当父节点展开或懒加载时,自动选中第一个子节点
keyboard:true, //true:支持键盘切换节点
persist:false, //true:保存展开状态到cookie中
autoCollapse:flase, //true:当一个节点是展开的,自动折叠其他兄弟节点
clickFolderMode:3, //1:activate,2:expand,3:activate and expand
activeVisible:true, //true:确保活动的节点是可见的(展开的)
checkbox:false, //true:显示选择框
selectMode:2, //1:单选,2:多选,3:多层多选
fx:null, //动画,null或{height:"toggle",duration:200}
noLink:false, //用<span>标签代替所有<a>标签
onClick:null, //点击会产生 focus,expand,activate,select 事件
onDblClick:null, //
onKeydown:null, //产生keyboard navigation 事件同时产生(focus,expand,activate)事件
onKeypress:null, //
onFocus:null, //当一个节点获得焦点时触发
onBlur:null, //当一个节点失去焦点时触发
debugLevel:0, //调试模式,0.关闭1.normal 2.debug
});
});
以上是基本用法。
从服务器返回数据的格式一般为json:[{title:"一层节点"},{title:"一层节点",isFolder:true,children:[{title:"二层节点"},{title:"二层节点",selfField:"自定义自定义字段"}]}]
json还可以添加自定义字段。
onClick事件:onClick:function(node){node.data.selfField}
通过node.data.selfField可以获取从服务器传过来的字段的值,其他事件类似。
补充:
$("#tree").dynatree("getTree")获取树的实例对象
$("#tree").dynatree("getTree").reload()重新加载树
如果需要修改initAjax的URL的参数或不同的URL,在reload之前修改参数就好了
$("#tree").dynatree("option","initAjax",{url:'xxxxxxx'})//修改initAjax参数,重写URL
$("#tree").dynatree("getTree").reload()
如果要隐藏一级所有的checkbox,需要在生成树的时候设置hideCheckbox=true,设置checkbox不可选unselectable=true
获取所有选中的项var select = $("#tree").dynatree("getTree").getSelectedNodes()
设置选中或不选中
for(var se in select){
select[se].select(false)//false不选中,true选中
}
如果显示了checkbox,点击时会触发click事件,为了把选中事件和点击事件分开,在onClick方法中需要判断当前时间触发的是否是title
if(node.getEventTargetType(event)=='title'){
//如果点击的是文本
}
onPostInit当树加载完毕时会触发,可以执行一些初始化操作,比如获取上一次活动的选项(需要设置persist=true)
this.getActiveNode()
Dynatree在线文档
原文档已经失效,这里是github地址
Dynatree使用的更多相关文章
- JQuery树形目录插件Dynatree
最近做网页需要做一个树形目录功能.找了一下发现有很多JQuery插件都可以实现这个功能.选了一个自己觉得最满意的插件Dynatree做个学习笔记. 可以把静态的html转成树形目录,还可以动态创建添加 ...
- JQuery树形插件Dynatree的包装对象
这是JQuery Dynatree插件的包装对象,做了些改进和增强,增加了右键菜单,以及相应事件等扩展1. [代码]MagicDTree的基本使用 <SCRIPT type=text/javas ...
- Bootstrap相关资料
WEB项目中,使用Bootstrap较多.但是一些插件却比较确实,所以整理了一份Bootstrap相关插件的地址.基本满足日常WEB开发中插件需求.并且还挺好用的 bootstrap说明文档,有问题可 ...
- highchart 添加新的series
code: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...
- Jquery之树形插件
1.DynaTree (推荐使用,说明文档以及样例在下载的压缩包里\doc\samples.html) DynaTree 是一个优化的动态jQuery树查看插件,它只在需要时才创建DOM元素.支持ch ...
- 实用的树形菜单控件tree
jQuery plugin: Treeview 这个插件能够把无序列表转换成可展开与收缩的Tree. jQuery plugin: Treeview jQuery jstree jsTree ...
- 10+ 最流行的 jQuery Tree 菜单插件
jstree – jQuery Tree Plugin With HTML & JSON Data jstree is a lightweight and flexible jQuery pl ...
- html树形菜单控件
html树形菜单控件 链接 http://www.ithao123.cn/content-713974.html jQuery plugin: Treeview 这个插件能够把无序 ...
- 30 个最棒的 jQuery 的拖放插件
jQuery 允许用户为任意 DOM 元素添加可拖放的功能,通过 jQuery 的拖放插件你可以轻松实现网页上任意元素的拖拽操作.在本文中我们向你推荐 30 个最棒的 jQuery 的拖放插件. 点击 ...
随机推荐
- 在powerdesigner中创建物理数据模型
物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...
- RStudio技巧02_Extract Function
RStudio 可以在 source 编辑器中分析一组选择的代码,并自动将其转化成再次使用的函数.任何选择中的"free"变量( 选择引用对象但不创建)将转化为函数参数. (也可使 ...
- JQuery基本知识框架思维导图(上)
一:认识jQuery 1.window.onload与$(document).ready()的对比 2.jQuery代码风格(1:链式代码风格2:位代码添加注释) 3.jQuery对象和DOM对象(1 ...
- BIT 树状数组 详解 及 例题
(一)树状数组的概念 如果给定一个数组,要你求里面所有数的和,一般都会想到累加.但是当那个数组很大的时候,累加就显得太耗时了,时间复杂度为O(n),并且采用累加的方法还有一个局限,那就是,当修改掉数组 ...
- php清理当前目录下的指定文件和空目录(源码),建议服务器端执行
<?php /** * @desc 解析当前目录并递归删除目录下的指定文件 * @author mengdj<mengdj@outlook.com> 2014.10.02 1530 ...
- QComboBox的activated与currentIndexChanged的区别
void activated ( int index ) void activated ( const QString & text ) 信号activated是只要单击选择框即使所选内容选择 ...
- Linux_10个需要了解的Linux网络和监控命令(转)
源文地址:http://www.linuxde.net/2013/10/15325.html 1. hostname hostname 没有选项,显示主机名字 hostname –d 显示机器所属域名 ...
- 如果你想真正了解Struts2,不妨可以进来看看
首先我们就一起来认识认识Struts2到底是什么?作为框架,它又是用来处理哪些问题的呢?正所谓脚踏实地走,即时离梦想会远一点,但却很真实,那我们就一步一步的来了解Struts2吧! 一.既然 ...
- CSS基础篇之选择符
关系选择符 E F 包含选择符(Descendant combinator) CSS1 选择所有被E元素包含的F元素. <html> <head> <meta chars ...
- jquery的each
each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的循环功能,使用也很方便,它可以循环一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$ ...