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 三种编解码方式
Feb 01 Javascript
最短的IE判断代码
Mar 13 Javascript
artDialog双击会关闭对话框的修改过程分享
Aug 05 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
Jan 28 Javascript
浅谈JavaScript字符串与数组
Jun 03 Javascript
javascript每日必学之继承
Feb 23 Javascript
BootStrap中Datepicker控件带中文的js文件
Aug 10 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
Oct 10 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
May 24 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
Dec 28 Javascript
JS+CSS3实现的简易钟表效果示例
Apr 13 Javascript
vue通过数据过滤实现表格合并
Nov 30 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 a simple smtp class
2007/11/26 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
PHP实现多进程并行操作的详解(可做守护进程)
2013/06/18 PHP
PHP常用函数和常见疑难问题解答
2014/03/05 PHP
yii操作session实例简介
2014/07/31 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
PHP hebrev()函数用法讲解
2019/02/21 PHP
PHP中上传文件打印错误错误类型分析
2019/04/14 PHP
浅谈Javascript 执行顺序
2013/12/18 Javascript
JQuery1.8 判断元素是否绑定事件的方法
2014/07/10 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
js+html5绘制图片到canvas的方法
2015/06/05 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
AngularJS读取JSON及XML文件的方法示例
2017/05/25 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
python matplotlib 在指定的两个点之间连线方法
2018/05/25 Python
python else语句在循环中的运用详解
2020/07/06 Python
如何整合JQuery和Prototype
2014/01/31 面试题
入党自我评价优缺点
2014/01/25 职场文书
建筑安全员岗位职责
2014/03/13 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
医德医风自我评价2015
2015/03/03 职场文书
2015年三万活动总结
2015/03/25 职场文书
python实现商品进销存管理系统
2022/05/30 Python
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers