jsTree使用记录实例

1. ajax请求生成jsTree

rush:js;"> [javascript] view plain copy var r = []; // 权限树中被选中的叶子节点 var currentGroupId; function showPermitTree(id) { currentGroupId = id; $.ajax({ data : "currentGroupId=" + id,type : "POST",//dataType : 'json',url : "/test/permittree",error : function(data) { alert("出错了!!:" + data); },success : function(data) { //alert("success:" + data); createPermitTree(data); } }); ${'buttonDiv'}.style.display=""; } function createPermitTree(datastr) { datastr = eval("" + datastr + ""); $('#permitTree').jstree({ 'plugins' : [ "wholerow","checkBox","types" ],'core' : { "themes" : { "responsive" : false },'data' : datastr },"types" : { "default" : { "icon" : "fa fa-folder icon-state-warning icon-lg" },"file" : { "icon" : "fa fa-file icon-state-warning icon-lg" } } }); } // listen for event $('#permitTree').on('changed.jstree',function(e,data) { r = []; var i,j; for (i = 0,j = data.selected.length; i < j; i++) { var node = data.instance.get_node(data.selected[i]); if (data.instance.is_leaf(node)) { r.push(node.id); } } //alert('Selected: ' + r.join('@@')); }) function saveTree() { $.ajax({ data : {'currentGroupId' : currentGroupId,'selectednodes' : r.join('@@')},url : "/test/savetree",success : function(data) { alert("保存成功!"); } }); }

直接把测试项目中一段代码copy过来了,这是一棵带复选框的树。页面有地方点击之后触发showPermitTree(id)函数,发送ajax请求给后台,项目使用的是springmvc框架,后台返回JSONArray.toString。

2. jsTree change事件

上面代码中含change事件。把所有选中的节点的id放到一个数组中。

页面上有个按钮,点击后触发saveTree函数,发请求给后台,把选中的节点的id发给后台

3.jsTree自定义contextmenu

rush:js;"> [javascript] view plain copy

这段代码使用jsTree的contextmenu plugin,去掉jsTree自带菜单,并自定义菜单

以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持编程之家!

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...