No i mam kolejny problem z tym dziwnym JStree .. ale to juz chyba bardziej z dziedziny jquery niż samego skryptu..
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..
Ten post edytował Mayka 9.11.2012, 12:33:14