jstree的简单实例


Posted in Javascript onDecember 01, 2016

最近使用到了jstree,感觉是一款灵活的、可多项定制的tree插件;

我这边使用过程记录下;

参考的jstree api网站,以及demo介绍:

https://www.jstree.com/api/#/
jstree api github:
https://github.com/vakata/jstree#populating-the-tree-using-a-callback-function

使用中的例子介绍:

html代码:

<!-- 搜索框 --> 
 <div class="search_input"> 
 <input type="text" id="search_ay" /> 
 <img src="/sfytj/dist/images/icon/ss_search.png" /> 
 </div> 
<!-- 案由列表 --> 
<div class="reason_list"> 
 <div id="treeview1" class="treeview"> 
 </div> 
 </div>

 js代码:

1)生成jstree:

$("#treeview1").jstree({ 
  'core' : { 
  "multiple" : false, 
  'data' : ay_mssys, 
  'dblclick_toggle': false  //禁用tree的双击展开 
  }, 
  "plugins" : ["search"] 
}); 
var ay_mssys = 
 [ 
 { 
  "id": "1", 
  "text": "民事案由(2008版)", 
  "state": { 
   "opened": true,  //展示第一个层级下面的node 
   "disabled": true  //该根节点不可点击 
   }, 
  "children": 
   [ 
    { 
    "id": "2", 
    "text": "人格权纠纷", 
    "children": 
     [ 
      { 
      "id": "3", 
      "text": "人格权纠纷", 
      "children": [ 
       { 
       "id": "4", 
       "text": "生命权、健康权、身体权纠纷", 
       "children": 
         [ 
         { 
          "id": "5", 
          "text": "道路交通事故人身损害赔偿纠纷" 
          } 
         ] 
       } 
       ] 
      } 
     ] 
    } 
   ] 
  } 
 ] 
 
//core:整个jstree显示的核心,里面包括多种项配置: 
//data: 这里是使用json格式的数据;还可以使用html或者ajax请求等 
//plugins: 这个jstree引用了哪些插件 
//multiple : false 不可多选

2)点击jstree的每个子项,获取该节点的text、id等信息:

//tree change时事件 
$('#treeview1').on("changed.jstree", function (e, data) { 
 console.log("The selected nodes are:"); 
 console.log(data.node.id);  //选择的node id 
 console.log(data.node.text);  //选择的node text 
 form_data.ay = data.node.text; 
 form_data.ay_id = data.node.id; 
}); 
//changed.jstree,jstree改变时发生的事件,类似的还有select_node.jstree等,api中有。

3)点击jstree子项,控制该节点展开、收缩等:

//jstree单击事件 
$("#treeview1").bind("select_node.jstree", function (e, data) { 
 if(data.node.id !=1 ){    //排除第一个节点(2011民事案由) 
 data.instance.toggle_node(data.node); //单击展开下面的节点 
 } 
});

4)使用插件search搜索(jstree自带的插件):

//输入框输入定时自动搜索 
var to = false; 
$('#search_ay').keyup(function () { 
 if(to) { 
 clearTimeout(to); 
 } 
 
 to = setTimeout(function () { 
 $('#treeview1').jstree(true).search($('#search_ay').val()); 
 
 }, 250); 
});

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
清华大学出版的事半功倍系列 javascript全部源代码
May 04 Javascript
js正确获取元素样式详解
Aug 07 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
基于JavaScript实现的折半查找算法示例
Apr 14 Javascript
详解tween.js 中文使用指南
Jan 05 Javascript
vue利用axios来完成数据的交互
Mar 23 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
Aug 01 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
Aug 22 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
May 21 Javascript
Node爬取大批量文件的方法示例
Jun 28 Javascript
微信小程序如何实现radio单选框单击打勾和取消
Jan 21 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 Javascript
Vue.JS入门教程之事件监听
Dec 01 #Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
Dec 01 #Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
Dec 01 #Javascript
jsTree使用记录实例
Dec 01 #Javascript
Vue.JS入门教程之列表渲染
Dec 01 #Javascript
Vue.JS入门教程之处理表单
Dec 01 #Javascript
利用js获取下拉框中所选的值
Dec 01 #Javascript
You might like
两种php调用Java对象的方法
2006/10/09 PHP
php5 pdo新改动加载注意事项
2008/09/11 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
PHP递归遍历多维数组实现无限分类的方法
2016/05/06 PHP
javascript实现颜色渐变的方法
2013/10/30 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
2019/07/18 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
2020/06/17 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
Python如何使用字符打印照片
2020/01/03 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
Python面向对象实现方法总结
2020/08/12 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
KIKO MILANO俄罗斯官网:意大利领先的化妆品和护肤品品牌
2021/01/09 全球购物
建筑设计师岗位职责
2013/11/18 职场文书
土建专业毕业生自荐书
2014/07/04 职场文书
我的中国心演讲稿
2014/09/04 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
国富论读书笔记
2015/06/26 职场文书
如何打开Win11系统注册表编辑器?Win11注册表编辑器打开修复方法
2022/04/05 数码科技
HTML5页面打开微信小程序功能实现
2022/09/23 HTML / CSS