JsTree
一、JStree的简单介绍
1.关于jstree
jsTree 使用了 jQuery 和 Sarissa,是一个是免费的但是设置灵活的,基于 JavaScript 跨浏览器支持的网页树形部件。
jsTree 支持三种数据源头:
预先定义好的 HTML -嵌套的列表结构
JSON
XML
jsTree 的主要功能有:
同步导入 – 只需要提供一个 URL,就会去请求数据(只适合 JSON 和 XML 数据形式)。
支持打开,关闭,重命名,创建,删除节点(通过预先定义好的规则)
支持多种回调函数(onchange, oncreate, ondelete, onload, 等等)
支持拖拉
支持多重选择
支持多种语言
支持主题(可以修改图标,大小和背景等等)
可以支持动态打开和关闭(configurable)
可选的快捷键导航
支持多个树形部件
另外还可以做为 jQuery 插件。
官方主页:http://www.jstree.com/
jstree在goolge code上的托管项目:
http://code.google.com/p/jstree/
二、JStree的简单用法
代码部分
HTML:
- <!--树-->
引入的css:
<link rel="stylesheet" type="text/css" href="/pcs9000/lib/common-css/css/style.min.css" />- <div class="reason_list">
- <div id="treeview1" class="treeview">
- </div>
- </div>
JS:
需要引入的js有
<script src="/pcs9000/lib/jquery/jquery.js"></script>
<script src="/pcs9000/lib/common-css/js/jstree.min.js"></script>
<script src="/pcs9000/gzdsy/monitor/resources/js/treepanel.js"></script>
treepanel.js:
- $(function () {
- var treeDate; //存放数据
$.ajax({- type:"get",
- url:"resources/js/getJson.json",
- dataType:"json",
- success:function(data){
- treeDate = data.data.treeData[0];
- $("#treeview1").jstree({ //创建树开始
- 'core' : {
- "multiple" : false,
- 'data': treeDate,
- 'dblclick_toggle': false //禁用tree的双击展开
- },
- "plugins" : ["search"]
- });
- }
- });
- //tree change时事件
- $('#treeview1').on("changed.jstree", function (e, item) {
- $(this).find(".jstree-leaf .jstree-anchor").unbind("click").on("click",function(){
- nodeId = item.node.id;
- $("#AjaxLoading").remove();
- $.ajax({
- type:"get",
- url:"resources/js/getJson.json",
- dataType:"json",
- beforeSend: function(XMLHttpRequest){
- ShowLoading();
- },
- success:function(data){
- },
- complete: function(XMLHttpRequest, textStatus) {
- $("#AjaxLoading").remove();
- },
- error:function(){
- alert("加载数据失败!");
- }
- });
- });
- });
- //加载动画
- function ShowLoading(){
- $(".rightIntent").append('<div id="AjaxLoading" class="showbox">'+
- '<div class="loadingWord">'+
- '<img src="resources/img/waiting.gif">加载中,请稍候...</div></div>');
- }
- //jstree单击事件
- $("#treeview1").bind("select_node.jstree", function (e, data) {
- if(data.node.id !=1 ){ //排除第一个节点
- data.instance.toggle_node(data.node); //单击展开下面的节点
- }
- });
- //输入框输入定时自动搜索
- var to = false;
- $('#search_ay').keyup(function () {
- if(to) {
- clearTimeout(to);
- }
- to = setTimeout(function () {
- $('#treeview1').jstree(true).search($('#search_ay').val());
- }, 250);
- });
- });
三:换肤功能
JsTree的更多相关文章
- jsTree简单应用Demo
<!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...
- JSTREE 实现AJAX重载入时刷新所有节点树
$().ready(function() { var tree = $('#tree'); tree.jstree({ 'core': { data: null } }); $("#xr ...
- 【笔记】jstree插件的基本使用
官网地址:https://www.jstree.com/ json返回参数格式:推荐第二种方式 不需要在重新拼接返回格式 不刷新页面重新初始化 jstree时使用:$.jstree.destroy() ...
- 【JSTREE】 复选框默认选中【总结】
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- JavaScript JsTree实例
var RightTree= function () { }; RightTree.prototype = { //初始化权限树 InitRightTree: function () { $.ajax ...
- JsTree实现简单的CRUD
现在需要将省市县区域这块搞成树状图的形状,由于项目使用的AngularJS+ABP+WebAPI各个模块之间数据传输形式是json格式,那么对于JsTree来说就方便很多了,只需要将json数据搞成我 ...
- 基于jstree的 对混乱的 命名系统进行归类的 计算机软件
本人现在就职于一家加拿大东部餐饮连锁公司的IT部门,公司旗下有4个品牌,280多家餐厅. 所有的餐厅都使用maitred 的pos软件来处理收银结账. 公司总部使用business object 对m ...
- 基于Metronic的Bootstrap开发框架经验总结(2)--列表分页处理和插件JSTree的使用
在上篇<基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理>介绍了Bootstrap开发框架的一些基础性概括,包括总体界面效果,以及布局.菜单等内容, ...
- 利用jstree插件轻松构建树应用
最近完成了项目中的一个树状应用,第一次接触了jstree这个插件,总的来说它的官方文档还是比较详细的,但是在使用过程中还是出现了一些问题,下面我就来谈谈这款插件的使用和心得. 首先项目需要构建一棵树, ...
- jstree动态生成树
前篇文章简单介绍了静态生成树,这篇文章将通过后台把数据通过json形式传到前台,进行动态生成树. 本篇的程序所用框架为Spring MVC,可以很方便的通过controller层传json到前台. 前 ...
随机推荐
- [转][Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法
转自:http://blog.csdn.net/qiujuer/article/details/39754517?utm_source=tuicool [Android][Android Studi ...
- 设置SQLServer的行版本控制隔离级别
1.--查询数据库状态 select name,user_access,user_access_desc,snapshot_isolation_state,snapshot_isolation_sta ...
- Oracle的日期时间范围查询
Oracle日期时间范围查询 Sql代码 /* 日期时间范围查询 */ ---------- 创建日期时间测试表-------------------------------------------- ...
- .NET中通過OUTLOOK發送附件內容
最近碰到一個發送郵件附件的問題,隨便幾下來,方便以後學習. string[] files = System.IO.Directory.GetFiles(@"~/UploadData" ...
- angularjs与require的集成摘抄
基于requireJS和angularJS的前端技术架构 :http://blog.163.com/liuyong_xiaxia/blog/static/17435525520156341446981 ...
- Hibernate 一对多 保存和修改数据
Student和Sclass表,Student外键cid是Sclass的cid create table sclass( cid ) primary key, cname ) )go create t ...
- debuggee python
my_debugger_defines.py #encoding:utf-8 from ctypes import * from sys import version as py_ver # In p ...
- lua 操作中文字符串之截取和长度竖排显示
前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过 \n 实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是 ...
- Flyer(二分 HDU4768)
Flyer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...
- noi 2728 摘花生
题目链接: 很像上一题,加上自己本身,选最优值. http://noi.openjudge.cn/ch0206/2728/ http://paste.ubuntu.com/23402493/