JsTree是一个基于JQuery的框架,实现简单,功能比较齐全。项目中急于修改树控件,现学现卖,实现了简单的功能,仅包含异步加载,动态设置节点样式图标,靠着自己看帮助文档,多次尝试一步步完成。
1. 实现异步加载
$("#tvBox").tree({
data : {
async : true,
type : "xml_flat",
[color=red]opts : {
url : URL
}
},
types : {
"default" : {
renameable : false,
deletable : false,
creatable : false,
draggable : false
}
},
ui:{
theme_name : "classic"
},
callback : {
beforedata : function(NODE, TREE_OBJ) {
setParams(NODE, TREE_OBJ); // 获取参数信息
//向服务器传递参数
return { type : type_id, dyj : dyj_id, bdz : bdz_id, jg : jg_id, ept : ept_id }
},//end beforedata
onselect : function(NODE, TREE_OBJ) { // 单击函数,点击设备节点名称的时候在右边显示信息
setParams(NODE, TREE_OBJ); // 获取参数信息
var ids = $(NODE).attr("id").split("-");
// alert(ids[6]);
var subType = ids[1];
var dydj = ids[2];
//alert(type_id+" -- "+ept_id);
var nodeParam="type="+type_id+"&subType="+subType+"&bdz="+bdz_id+"&dydj="+dydj+"&ept="+ept_id;
if (type_id == EptType.dyj) {//点击的是电业局节点
var dyj_url = "pages/omds/ept/dyj/dyj.jsp?dyj="+dyj_id+"&"+nodeParam;
//alert(dyj_url+" -- "+dyj_name);
top.doCreateTabItem(dyj_url,
dyj_name,
dyj_url+"&random="+Math.random(),
dyj_name);//在'主页'标签中显示
}
}, //end onselect
// 只在树第一次加载的时候调用
onload : function(TREE_OBJ) {
$("#tvBox ul li a:first-child ins").hide(); //电业局节点不显示图标
}
}// end callback
}); // end tree()
JsTree支持多种格式的数据源,这里使用了xml格式,其实json格式更好。data中代码即可实现异步加载,通过设置UI参数可以修改主题,callback参数可以对一些事件作出响应,如beforedata可以在发送异步请求之前添加url参数,onselect可以响应生成的树中节点的单击事件,还有open在节点被打开的时候被调用,等等,可以帮助实现很多功能……
--1 碰到比较麻烦的事情是展开子节点向后台传递参数时需要用到父节点的id等信息,需要用到parent函数。
--2 另外,当展开一个节点从后台没有查询到子节点时需要返回<root></root>,不能使<root>,我当时用jdom生成xml碰到后者,出现了问题。
--3 callback中的事件需要自己去尝试才能知道什么时候被触发
2. 实现节点换肤
项目中涉及到得是电业局--变电站--间隔--设备,对于后三者节点图标必须与其状态对应,且状态是动态的,所以需要后台在生成xml的时候设置icon属性
eName.setAttribute("icon", "status" + bean.getEptStatusFlag());
此icon属性对应的是该节点(<li>,xml数据源代表的树最后都被解析成ul li 等,在火狐中用
firebug可以看到),设置后可以用页面头部嵌入css的方式设置属性,且必须注释所用到的主题的文件夹中style.css中对应的图标样式设置(尝试得到的结果)
分享到:
相关推荐
**jstree用法大集合** ...总的来说,这个"jstree用法大集合"是一个宝贵的资源,涵盖了`jstree`的各种应用场景和使用技巧。通过学习和实践这些示例,你可以熟练掌握`jstree`,并在实际项目中灵活运用。
这个简单Dome提供了一个快速入门的例子,展示了如何在网页中集成JsTree,并实现多选、单选、添加和删除节点等功能。下面将详细介绍JsTree的核心特性以及如何与Bootstrap结合使用。 首先,JsTree是一个基于jQuery的...
以下是一个简单的 JsTree 实例,展示如何初始化和配置 JsTree: ```html <!DOCTYPE html> <link rel="stylesheet" href="jstree/dist/themes/default/style.css" /> <script src="jstree/dist/jstree.min.js"> ...
总的来说,jsTree 是一个功能强大、易于使用的 JavaScript 库,尤其适合构建动态的、交互式的树状数据视图。无论你是前端开发者还是需要在网页上展示层级结构数据的用户,jsTree 都能成为你的得力工具。
以上代码展示了如何创建一个简单的 jstree 实例,包含两个顶级节点,其中第一个节点有子节点。 总之,jstree.min.js 是一个强大的 jQuery 插件,为开发者提供了构建交互式树形视图的强大工具,适用于各种需要结构化...
在本篇文章中,我们将深入探讨 jsTree 的核心特性、安装、配置、使用方法以及如何结合其他技术来构建更复杂的应用。 ### 1. jsTree 核心特性 - **多用途**:jsTree 支持多种类型的树结构,如文件系统、组织架构、...
3. **初始化jsTree**:使用`$(selector).jstree(options)`方法初始化树控件,`selector`是树容器的选择器,`options`是一个包含配置项的对象,用于设置初始状态、加载数据的方式、使用的插件等。 4. **处理事件**:...
jstree 是一个基于 jQuery 的强大的树形结构插件,用于在网页中创建交互式的树形...以下是一个简单的使用 jstree 的例子: https://sunriver2000.blog.csdn.net/article/details/133431135?spm=1001.2014.3001.5502
在本实例中,"ztree+jstree最简单htm实例"可能是将这两个插件的功能结合在一起,展示如何在一个页面上同时使用ztree和jstree。开发者可能通过比较和对比,学习它们在实现上的异同,选择更适合项目需求的树形插件。...
本文将深入探讨 JStree 的核心功能、配置选项、API 方法以及如何与 AJAX 结合使用。 ### 1. JStree 基础 - **数据源**: JStree 可以接受 JSON 数据、HTML 或者纯文本作为数据源。JSON 数据是最常见的方式,可以...
通过这个“jsTree大集合”,你不仅可以学习到jsTree的基本用法,还能了解到如何根据实际需求进行定制和扩展。无论你是前端新手还是经验丰富的开发者,这个资源都能为你提供宝贵的实践经验和灵感。记得探索压缩包中的...
### JsTree 1.0 详细介绍 ...通过这些知识,读者可以更好地理解和掌握 JsTree 的使用方法,从而在实际项目中发挥其强大功能。希望本文能够对大家有所帮助,也欢迎大家提出宝贵意见,共同完善 JsTree 的文档。
3. **初始化 JSTree**:在页面中选择一个元素作为 JSTree 的容器,然后使用 jQuery 选择器和 `jstree` 方法进行初始化,传入配置选项和数据。 4. **配置 JSTree**:在初始化时,你可以设置各种选项,如启用复选框、...
3. **初始化jsTree**:使用`$(selector).jstree(options)`方法初始化树控件,其中`selector`是容器的选择器,`options`是配置对象。 4. **加载数据**:通过`data`选项提供初始数据,或者使用`core.data`设置数据源...
3. `demo` 或 `examples` 目录:包含了一些示例页面,展示了jstree的不同用法和功能,有助于快速理解和学习如何使用该库。 4. `docs` 目录:可能包含文档或API参考,帮助开发者了解每个方法、属性和事件的详细信息...
以上实例覆盖了jsTree的多个核心功能,帮助开发者快速理解和掌握使用方法。 **应用场景:** 1. **文件管理**:在Web应用中,用于模拟文件系统的浏览和操作。 2. **导航菜单**:构建网站的多级导航菜单。 3. **组织...
3. **初始化jstree**:通过jQuery选择器找到容器元素,调用`.jstree()`方法进行初始化,并传入配置项。 4. **数据源**:可以使用JSON数据、HTML列表或者异步加载数据来创建树结构。 5. **插件配置**:根据需求选择和...
而 "docs" 文件夹则可能包含API文档、用户手册或教程,帮助开发者深入理解 jstree 的内部工作原理和用法。 **jQuery tree** 标签明确了 jstree 是基于 jQuery 构建的,这意味着它利用了 jQuery 的便利性和兼容性,...
在实际应用中,为了集成 JSTree,需要理解其基本用法,包括如何初始化树结构、配置选项、绑定事件以及如何处理数据模型。 例如,初始化 JSTree 可以这样写: ```html <div id="my_tree"> $(function () { $('#...
在Web开发中,jQueryzTree和JSTree是两个广泛使用的JavaScript库,它们主要用于构建交互式的树形结构,如导航菜单、组织架构图等。这两个库都提供了丰富的功能和高度的自定义性,其中,对数组的操作是实现这些功能的...