Zrobiłem sobie coś takiego:
$(function () { $("#stworz_powiazanie").click(function () { $("#pages-wrapper").jstree("create"); }); $("#usun_powiazanie").click(function () { if(!confirm("Czy na pewno chcesz usunąć tę stronę?"))return; $("#pages-wrapper").jstree("remove"); }); $("#zmien_nazwe").click(function () { $("#pages-wrapper").jstree("rename"); }); $("#cut").click(function () { $("#pages-wrapper").jstree("cut"); }); $("#paste").click(function () { $("#pages-wrapper").jstree("paste"); }); $("#pages-wrapper").jstree({ "core" : { "animation" :0, }, "html_data" : { "ajax" : { "url" : "./pobierz.php", "data" : function (n) { return { id : n.attr ? n.attr("node_id") : 0 }; } } }, "plugins" : ["themes","html_data","ui","crrm","types"], }); $("#pages-wrapper").bind("remove.jstree", function (e, data) { data.rslt.obj.each(function () { $.ajax({ async : false, type: 'POST', url: "./server.php", data : { "operation" : "remove_node", "id" : this.id.replace("node_","") }, success : function (r) { if(!r.status) { data.inst.refresh(); } } }); }); }) $("#pages-wrapper").bind("rename.jstree", function (e, data) { $.ajax({ type: "POST", url: './server.php', data: { "operation" : "rename_node", "id" : data.rslt.obj.attr("id").replace("node_",""), "title" : data.rslt.new_name }, success : function (r) { if(!r.status) { data.inst.refresh(); alert('Zmieniono Nazwe'); } } }); })
I przycisk remove, create działa a rename nie.. ktoś mi powie dlaczego ? Zaczołem testować to i w fireBugu wywala taki komunikat:
" TypeError: obj is undefined
return obj.nodeValue; "
i teraz nie wiem co z tym fantem zrobic.. do skończenia zabawy z tym jstree zostało mi tylko to.. i na koniec sie wysypała zmiana nazw..
a i moze ktoś mi powie co sie kryje po tym zapytaniem ajaxowym w linijce 26 ? Bo może to powoduje błąd ?
Można usunąć, problem rozwiązany..