如何以编程方式删除jstree中的节点

时间:2013-09-06 05:26:47

标签: jquery jstree

我在jstree中显示了xml文件。我可以使用以下代码选择节点:

selectNodeEvents = function (data) {
    var ready = false;
    $("#jstree").bind("reselect.jstree", function () {
        var selectedNode = $.cookies.get('mySelectedNode');
        jQuery("#jstree").jstree("select_node", selectedNode);
        ready = true;
    })
    .bind("select_node.jstree", function (event, data) {
        alert(data.inst.get_text(data.rslt.obj));

    })
}

我尝试添加用于删除树节点的jstree演示代码但是,我不认为我理解如何去做。有人可以指导我如何解决这个问题吗?

.bind("remove.jstree", function (e, data) {
    data.rslt.obj.each(function () {
        $.ajax({
            async: false,
            type: 'POST',
            url: "/static/v.1.0pre/_demo/server.php",
            data: {
                "operation": "remove_node",
                "id": this.id.replace("node_", "")
            },
            success: function (r) {
                if (!r.status) {
                    data.inst.refresh();
                }
            }
        });
    });
})

1 个答案:

答案 0 :(得分:0)

这是我的功能的一个片段,也许这会有所帮助:

.bind("remove.jstree", function(e, data) {
    data.rslt.obj.each(function () {
        $.post(
            "/delete",
            {
                "id" : this.id.replace("phtml_","")
            },
            function (r) {
                if(!r.status) {
                    $.jstree.refresh(data.rlbk);
                }
            }
        );
    });
});