我(试图)使用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