【问题标题】:jstree : how to undelete / restore a nodejstree:如何取消删除/恢复节点
【发布时间】:2015-09-21 10:04:53
【问题描述】:

我在我的应用程序中使用 jsTree 和 contextmenu 插件。

删除节点时,我有一个对我的数据库执行操作的 ajax 请求。

只有当 ajax 返回 operation = true 参数时,我才想真正从视图中删除节点。

如何取消删除已使用以下代码删除的 jstree 节点:

function (data) {
    var inst = $.jstree.reference(data.reference),
        obj = inst.get_node(data.reference);
    if(inst.is_selected(obj)) {
        inst.delete_node(inst.get_selected());
    }
    else {
        inst.delete_node(obj);
    }
}

【问题讨论】:

    标签: jquery ajax tree nested jstree


    【解决方案1】:

    我只在调用成功时从树中删除节点。先删除节点,然后调用,如果失败再尝试重新添加节点是没有意义的。这是一个仅在 ajax 调用成功时才删除节点的示例:

    var node = $('#tree').jstree('get_selected');
    
    $.ajax({
        url: link,
        type: 'GET',
        data: { id: node.attr('id') },
        async: false,
        success: function (data, text) {
            $('#tree').jstree('delete_node', node);
        },
        error: function (request, status, error) {
        }
    });
    

    ps。这将获得当前选定的节点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      相关资源
      最近更新 更多