1. ajax请求生成jsTree
[javascript] view plain copy <span style="font-size:14px;"><script> 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('@@')}, type : "POST", //dataType : 'json', url : "/test/savetree", error : function(data) { alert("出错了!!:" + data); }, success : function(data) { alert("保存成功!"); } }); } </script></span><span style="font-size:24px;"> </span>
直接把测试项目中一段代码copy过来了,这是一棵带复选框的树。页面有地方点击之后触发showPermitTree(id)函数,发送ajax请求给后台,项目使用的是springmvc框架,后台返回JSONArray.toString。
2. jsTree change事件
上面代码中含change事件。把所有选中的节点的id放到一个数组中。
页面上有个按钮,点击后触发saveTree函数,发请求给后台,把选中的节点的id发给后台。
3.jsTree自定义contextmenu
[javascript] view plain copy <script> $('#jstree').jstree({ core : { check_callback : true, data : [ { "id" : "1", "parent" : "#", "text" : "root" }, { "id" : "2", "parent" : "1", "text" : "child 1" }, { "id" : "3", "parent" : "1", "text" : "child 2" } ], }, plugins : ["wholerow","contextmenu"], "contextmenu": { "items": { "create": null, "rename": null, "remove": null, "ccp": null, "add": { "label": "add", "action": function (obj) { var inst = jQuery.jstree.reference(obj.reference); var clickedNode = inst.get_node(obj.reference); alert("add operation--clickedNode's id is:" + clickedNode.id); } }, "delete": { "label": "delete", "action": function (obj) { var inst = jQuery.jstree.reference(obj.reference); var clickedNode = inst.get_node(obj.reference); alert("delete operation--clickedNode's id is:" + clickedNode.id); } } } } }).on("ready.jstree", function (e, data) { data.instance.open_all(); }); </script>
这段代码使用jsTree的contextmenu plugin,去掉jsTree自带的菜单,并自定义菜单
以上就是本文的全部内容,希望对大家有所帮助,同时也希望多多支持!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月14日
2024年11月14日
- 魔兽世界wlk暗牧一键输出宏是什么 wlk暗牧一键输出宏介绍
- 群星.1996-红不让台语原唱2辑【福和唱片】【WAV+CUE】
- 郭书瑶.2009-爱的抱抱(EP)【种子音乐】【FLAC分轨】
- 郑瑞芬.1989-BE.MY.BABY【现代】【WAV+CUE】
- 花钱请人每周放30万只不咬人的蚊子 防治登革热传播
- 饭制《第一后裔》丧尸版弗蕾娜
- 贝克汉姆亲临!2024FC品类游戏嘉年华圆满落幕
- 「命轨爻错之翼」风之翼发放说明
- 《原神》前瞻特别节目回顾长图
- 米游币抽抽乐-原神专场现已开启!
- 黑鸭子2001《风情中国HQCD》[日本版][WAV+CUE]
- 陈杰洲1990-成人礼[滚石][WAV+CUE]
- MarkAanderud-HandsFree(2024)[24-44,1]FLAC
- 孙露《观心》1:1母盘直刻限量版[低速原抓WAV+CUE][361M]
- 钟志刚《汽车DJ玩主》[低速原抓WAV+CUE][1G]