关于用 zTree 方法删除节点时的 beforeRemove 操作

发布于 2021-11-29 21:03:03 字数 2181 浏览 779 评论 4

@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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夜司空 2021-11-29 21:13:02

请问一下,如何解决删除父节点,提示有子节点的问题??、

傾城如夢未必闌珊 2021-11-29 21:10:44

回复
@Tony_Tony_ :1、beforeremove函数中使用ajax从数据库中获取是否有子节点;2、若有,弹出提示框,在ajax函数后面(非回调中)返回false,关键点是必须在ajax函数外返回!;若无,则在ajax的回调函数中自己调用zTree.removeNode(treeNode);来删除节点,不能再使用onremove函数了。要注意beforeremove函数必须返回false

谢绝鈎搭 2021-11-29 21:10:12

引用来自“zTree”的评论

removeNode 方法有一个参数:callbackFlagBoolean

水水月牙 2021-11-29 21:05:16

removeNode 方法有一个参数:callbackFlagBoolean

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文