我(試圖)使用JStree的分類/子類別樹。 花了相當長的一段時間,但我設法創建了一個具有JSON數據的樹,我從數據庫中檢索(使用PHP進行查詢和構建JSON對象)。JStree:跟蹤拖放樹
現在我想能夠跟蹤拖動&拖放操作。 即:maincategory中的subcategorie x被拖拽到maincategorie中b。 我需要記錄這個動作後更改數據庫。 我想我會需要'check_move'或'drop_finish'功能。 丟棄結束根本不起作用,事件不會被觸發。這似乎是因爲我的節點沒有jstree-drop類,但我似乎無法正確插入類:它不起作用。
check_move函數在傳遞其他子類別時會繼續觸發,並因此創建不需要的數據負載。
我的(測試)JSON數據:
[
{
"metadata": {
"id": "1"
},
"data": "Geluid",
"children": [
{
"data": "Speakers",
"attr": {
"href": ""
},
"metadata": {
"id": "1"
}
},
{
"data": "Versterkers",
"attr": {
"href": ""
},
"metadata": {
"id": "3"
}
}
]
},
{
"metadata": {
"id": "2"
},
"data": "Licht",
"children": [
{
"data": "Parren",
"attr": {
"href": ""
},
"metadata": {
"id": "2"
}
}
]
}
]
我JStree代碼:
$(function() {
$("#Create").click(function() {
$("#tree").jstree("create");
});
$("#Rename").click(function() {
$("#tree").jstree("rename");
});
$("#Remove").click(function() {
$("#tree").jstree("remove");
});
$("#tree").jstree({
"dnd" : {
"drop_finish" : function (data) {
alert ("Drag OK");
//alert("Dragged: " + data.o.attr('id') + " to " + data.r.attr('id'));
}
},
"themes" : {
"theme" : "classic",
"dots" : true,
"icons" : false
},
"json_data" : {
"ajax" : {
"url" : "get_category_tree.php"
}
},
"plugins" : [ "themes", "json_data", "ui", "crrm", "checkbox", "dnd" ]
})
.bind("select_node.jstree", function (e, data) {
var req = new ZaxasRequest();
req.getContent("category_content.php?id=" + data.rslt.obj.data('id') +"", "category_content");
})
});
基本上,我想獲得的ID。不要擔心主類別和子類別ID可能是相同的,我將在稍後解決該問題;) 任何人都可以將我指向正確的方向?
的回答類似的問題在這裏找到。 [點擊這裏] [1] [1]:http://stackoverflow.com/questions/6110708/bindmove-node-jstree-data-rslt-obj-undefined-how-to -get-node-data – Teja 2013-06-10 02:57:41