gpt4 book ai didi

JStree:在树中跟踪拖放

转载 作者:行者123 更新时间:2023-12-01 06:42:52 24 4
gpt4 key购买 nike

我正在(试图)将 JStree 用于类别/子类别树。
这花了相当长的时间,但我设法用从数据库中检索到的 JSON 数据创建了一个树(使用 PHP 来查询和构建 JSON 对象)。

现在我希望能够跟踪拖放操作。
即:从主类别 a 中的子类别 x 被拖到主类别 b。
我需要记录这一点以在操作后更改数据库。
我想我需要“check_move”或“drop_finish”函数。
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 可能相同的事实,我稍后会解决这个问题;)
任何人都可以指出我正确的方向吗?

最佳答案

绑定(bind)到移动事件并使用 CRRM 插件...
稍后我将发布一些代码示例..
JSTree CRRM

关于JStree:在树中跟踪拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8683816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com