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创建一个选择文件的对话框代码
Jun 16 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
Nov 22 Javascript
为指定的元素添加遮罩层的示例代码
Jan 15 Javascript
js实现点击图片改变页面背景图的方法
Feb 28 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
May 08 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
Sep 20 Javascript
详解Vue组件实现tips的总结
Nov 01 Javascript
react native 文字轮播的实现示例
Jul 27 Javascript
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
mock.js模拟前后台交互
Jul 25 Javascript
微信小程序实现简单购物车功能
Dec 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不用正则验证真假身份证
2013/11/06 PHP
javascript some()函数用法详解
2014/11/13 PHP
基于PHP生成简单的验证码
2016/06/01 PHP
详谈php静态方法及普通方法的区别
2016/10/04 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
微信公众平台开发教程②微信端分享功能图文详解
2019/04/10 PHP
PHP中PCRE正则解析代码详解
2019/04/26 PHP
JS中捕获console.log()输出的方法
2015/04/16 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
对Vue.js之事件的绑定(v-on: 或者 @ )详解
2018/09/15 Javascript
从源码里了解vue中的nextTick的使用
2018/11/22 Javascript
微信小程序防止多次点击跳转(函数节流)
2019/09/19 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
Python MD5文件生成码
2009/01/12 Python
Python表示矩阵的方法分析
2017/05/26 Python
Python全排列操作实例分析
2018/07/24 Python
python读取和保存图片5种方法对比
2018/09/12 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
详解python中eval函数的作用
2019/10/22 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
研究生自荐信
2013/10/09 职场文书
触摸春天教学反思
2014/02/03 职场文书
烹饪自我鉴定
2014/03/01 职场文书
促销活动总结范文
2014/04/30 职场文书
运动会宣传口号
2014/06/09 职场文书
基层党员对照检查材料
2014/08/25 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
2014年客服工作总结范文
2014/11/13 职场文书