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 相关文章推荐
两个listbox实现选项的添加删除和搜索
Mar 01 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
JS判断两个时间大小的示例代码
Jan 28 Javascript
jquery实现页面图片等比例放大缩小功能
Feb 12 Javascript
JavaScript中的Math.LOG2E属性使用详解
Jun 14 Javascript
4种JavaScript实现简单tab选项卡切换的方法
Jan 06 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
深入浅析Vue不同场景下组件间的数据交流
Aug 15 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
小程序如何构建骨架屏
May 29 Javascript
json_decode 索引为数字时自动排序问题解决方法
Mar 28 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获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
Symfony2实现在controller中获取url的方法
2016/03/18 PHP
PHP实现用户登录的案例代码
2018/05/10 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
AngularJs 指令详解及示例代码
2016/09/01 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
[05:43]VG.R战队教练Mikasa专访:为目标从未停止战斗
2016/08/02 DOTA
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
python九九乘法表的实例
2017/09/26 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
GAP阿联酋官网:GAP UAE
2017/11/30 全球购物
意大利在线眼镜精品店:Ottica Lipari
2019/11/11 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
安全资料员岗位职责
2013/12/14 职场文书
员工培训邀请函
2014/02/02 职场文书
致跳远运动员广播稿
2014/02/11 职场文书
大学入学感言
2015/08/01 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
导游词之山东八仙过海景区
2019/11/11 职场文书
python中sqllite插入numpy数组到数据库的实现方法
2021/06/21 Python
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
pandas中对文本类型数据的处理小结
2021/11/01 Python
《帝国时代4》赛季预告 新增内容编译器可创造地图
2022/04/03 其他游戏