我在我的应用程序中使用了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);
}
}
答案 0 :(得分:0)
我只在呼叫成功时从树中删除节点。首先删除节点然后进行调用没有意义,如果失败则尝试重新添加节点。以下是仅在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。这将获得当前选定的节点