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 相关文章推荐
利用WebBrowser彻底解决Web打印问题(包括后台打印)
Jun 22 Javascript
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
Jul 04 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
使用jQuery和PHP实现类似360功能开关效果
Feb 12 Javascript
选择复选框按钮置灰否则按钮可用
May 22 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
Mar 11 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
React Native中TabBarIOS的简单使用方法示例
Oct 13 Javascript
vue 挂载路由到头部导航的方法
Nov 13 Javascript
vue添加class样式实例讲解
Feb 12 Javascript
浅谈Vue static 静态资源路径 和 style问题
Nov 07 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
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
php设计模式之委托模式
2016/02/13 PHP
jquery ajax提交表单数据的两种实现方法
2010/04/29 Javascript
js 幻灯片的实现
2011/12/06 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
SelecT下拉框选中和取值的解决方法
2016/11/22 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
python中常用检测字符串相关函数汇总
2015/04/15 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Python异常处理知识点总结
2019/02/18 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
django 模型中的计算字段实例
2020/05/19 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
澳大利亚制造的羊皮靴:Original UGG Boots
2017/11/13 全球购物
师范学院毕业生求职信范文
2013/12/26 职场文书
培训专员岗位职责
2014/02/26 职场文书
房产代理公证处委托书
2014/04/04 职场文书
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
应用外语系自荐信
2014/06/26 职场文书
活动总结新闻稿
2014/08/30 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
给医院的感谢信
2015/01/21 职场文书
2019年特色火锅店的创业计划书模板
2019/08/28 职场文书
ORACLE数据库对long类型字段进行模糊匹配的解决思路
2021/04/07 Oracle
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
Python matplotlib安装以及实现简单曲线的绘制
2022/04/26 Python