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 相关文章推荐
[JS]点出统计器
Oct 11 Javascript
JavaScript实现禁止后退的方法
Dec 27 Javascript
可自己添加html的伪弹出框实现代码
Sep 08 Javascript
Javascript实现视频轮播在pc端与移动端均可
Sep 29 Javascript
按Enter键触发事件的jquery方法实现代码
Feb 17 Javascript
js操作模态窗口及父子窗口间相互传值示例
Jun 09 Javascript
vue项目总结之文件夹结构配置详解
Dec 13 Javascript
jsonp跨域获取数据的基础教程
Jul 01 Javascript
async/await优雅的错误处理方法总结
Jan 30 Javascript
前端面试知识点目录一览
Apr 15 Javascript
vue+element创建动态的form表单及动态生成表格的行和列
May 20 Javascript
antd design table更改某行数据的样式操作
Oct 31 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 5.0创建图形的巧妙方法
2010/10/12 PHP
php unset全局变量运用问题的深入解析
2013/06/17 PHP
golang与PHP输出excel示例
2016/07/22 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
JS获取当前页面名称的简单实例
2016/08/19 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
jQuery实现优雅的弹窗效果(6)
2017/02/08 Javascript
VueJS 取得 URL 参数值的方法
2019/07/19 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
Python实现购物车程序
2018/04/16 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
Python使用内置函数setattr设置对象的属性值
2020/10/16 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
八年级数学教学反思
2014/01/31 职场文书
积极贯彻学习两会精神总结
2014/03/17 职场文书
申报优秀教师材料
2014/12/16 职场文书
灵山大佛导游词
2015/02/04 职场文书
实习单位推荐信
2015/03/27 职场文书
大学毕业晚会开场白
2015/05/29 职场文书
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server