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 相关文章推荐
yepnope.js 异步加载资源文件
Sep 08 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
javascript编写贪吃蛇游戏
Jul 07 Javascript
Javascript动画效果(2)
Oct 11 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
Oct 28 Javascript
canvas红包照片实例分享
Feb 28 Javascript
Map.vue基于百度地图组件重构笔记分享
Apr 17 Javascript
ES6新特性三: Generator(生成器)函数详解
Apr 21 Javascript
一步步教你利用Docker设置Node.js
Nov 20 Javascript
微信小程序实现时间预约功能
Nov 27 Javascript
Vue父子之间值传递的实例教程
Jul 02 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 4.2书写安全的脚本
2006/10/09 PHP
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
MySQL时间字段究竟使用INT还是DateTime的说明
2012/02/27 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
深入理解PHP中的count函数
2016/05/31 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
Javascript中的相等与不等运算
2010/04/25 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
星期几的不同脚本写法(推荐)
2016/06/01 Javascript
jQuery文件上传控件 Uploadify 详解
2016/06/20 Javascript
axios基本入门用法教程
2017/03/25 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
原生JS实现N级菜单的代码
2017/05/21 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
js实现GIF图片的分解和合成
2019/10/24 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python单例模式实例详解
2017/03/01 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
对python3新增的byte类型详解
2018/12/04 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
Django如何在不停机的情况下创建索引
2020/08/02 Python
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
活动总结模板
2014/05/09 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
面试感谢信范文
2015/01/22 职场文书
现场施工员岗位职责
2015/04/11 职场文书
中国汉字听写大会观后感
2015/06/02 职场文书