最近使用到了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); });
以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持小牛知识库!
jsTree是一个 基于jQuery的Tree控件。支持XML,JSON,Html三种数据源。提供创建,重命名,移动,删除,拖"放节点操作。可以自己自定义创建,删 除,嵌套,重命名,选择节点的规则。在这些操作上可以添加多种监听事件。 在线演示
本文向大家介绍jsTree使用记录实例,包括了jsTree使用记录实例的使用技巧和注意事项,需要的朋友参考一下 1. ajax请求生成jsTree 直接把测试项目中一段代码copy过来了,这是一棵带复选框的树。页面有地方点击之后触发showPermitTree(id)函数,发送ajax请求给后台,项目使用的是springmvc框架,后台返回JSONArray.toString。 2. jsTree
1、宽度或者高度限制 minWidth、minHeight、maxWidth以及maxHeight选项允许你设置选区的范围。在这个例子中,图像的最大范围将限制为200x150px。 $(document).ready(function () { $('#ladybug_ant').imgAreaSelect({ maxWidth: 200, maxHeight: 150, handles:
本文向大家介绍C#中的IEnumerable简介及简单实现实例,包括了C#中的IEnumerable简介及简单实现实例的使用技巧和注意事项,需要的朋友参考一下 IEnumerable这个接口在MSDN上是这么说的,它是一个公开枚举数,该枚举数支持在非泛型集合上进行简单的迭代。换句话说,对于所有数组的遍历,都来自IEnumerable,那么我们就可以利用这个特性,来定义一个能够遍历字符串的通用方法.
本文向大家介绍Android中Progress的简单实例,包括了Android中Progress的简单实例的使用技巧和注意事项,需要的朋友参考一下 Android中Progress的简单实例 Android中Progress网上的demo都是瞎扯淡,当然,你们也可以认为我的demo是瞎扯淡,因为,毕竟要理解别人的思路,很头疼,主要还是知道思路,然后一步一步慢慢来。今天我讲的是Progress的实现
本文向大家介绍python实现简单的socket server实例,包括了python实现简单的socket server实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现简单的socket server的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。