关于用 zTree 方法删除节点时的 beforeRemove 操作
@zTree 你好,想跟你请教个问题:
参考的:用 zTree 方法 增 / 删 / 改 节点 http://www.ztree.me/v3/demo.php#_306 示例,要在删除节点前弹出确认删除提示,但是一直不成功。数据库交互删除与返回信息正常。
以下是相关部分代码,不知道是否缺少其它关键设置
var setting = { view: { dblClickExpand: false, selectedMulti: false }, edit: { enable: true, showRemoveBtn: false, showRenameBtn: false }, data: { keep: { parent:true, leaf:false }, simpleData: { enable: true } }, callback: { beforeRename: beforeRename, beforeRemove: beforeRemove, onClick: onClick, onRename: zTreeOnRename } }; var zNodes =[获取的数据]; var log, className = "dark"; function beforeRemove(treeId, treeNode) { className = (className === "dark" ? "":"dark") var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.selectNode(treeNode); return confirm("确认删除 节点 -- " + treeNode.name + " 吗?"); } function remove(e) { var zTree = $.fn.zTree.getZTreeObj("treeDemo"), nodes = zTree.getSelectedNodes(), treeNode = nodes[0]; if (nodes.length == 0) { alert("请选择一个分类"); return; } zTree.removeNode(treeNode); var id = treeNode.id; $.get("url", {id:id}, function(data){ alert(data); }); location.reload(); }; $(document).ready(function(){ $.fn.zTree.init($("#treeDemo"), setting, zNodes); $("#remove").bind("click", remove); });
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
请问一下,如何解决删除父节点,提示有子节点的问题??、
回复
@Tony_Tony_ :1、beforeremove函数中使用ajax从数据库中获取是否有子节点;2、若有,弹出提示框,在ajax函数后面(非回调中)返回false,关键点是必须在ajax函数外返回!;若无,则在ajax的回调函数中自己调用zTree.removeNode(treeNode);来删除节点,不能再使用onremove函数了。要注意beforeremove函数必须返回false
引用来自“zTree”的评论
removeNode 方法有一个参数:callbackFlagBoolean
removeNode 方法有一个参数:callbackFlagBoolean