jsTree:懒惰加载插件" dnd"无效

时间:2015-09-25 13:25:58

标签: jstree jstree-dnd

我在我的网络应用中使用了jsTree(最新版本)。我有很多节点要在树中显示,所以我使用延迟加载,否则我会遇到一些时间。 加载树时,用户可以从第二个树中选择值并将它们移动到延迟加载的树中(jsTree插件" dnd")。两棵树都有jsTree插件" dnd"安装。但我不能将一个元素放入延迟加载的树中,当我尝试这样做时,要删除的节点有一个带红叉的图标(指示:此处不允许)。

这是延迟加载树的代码:

$('#target_tree').jstree({
  'core' : {
    'data' : {
      "url" : "get_current_hierachy",
      "data" : function (node) {
        return {'p_parent_id': node.id};
      },
      "dataType": "json",
      "check_callback": true
    }
  },
  "plugins" : ["dnd"]
});

当我在没有延迟加载的情况下在第一个树中加载一些数据时,拖动按钮正在按预期工作。 当我使用延迟加载在第一个树中加载数据时,拖动操作不再起作用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

试试这个......

$(document).ready(function () {

    $('#target_tree').jstree({

        'core': {
            'data': {

                "url": function (node) {
                    var url;
                    if (node.id == '#') {
                        url = "getRootNode";
                    } else {
                        var id = $(node).data("id");
                        url = "getChildNode?nodeid=" + id;
                    }
                    return url;
                },
                "data": function (node) {
                    return { "id": node.id };
                },
                "type": "GET",
                "dataType": "json",
                "contentType": "application/json charset=utf-8",
            },
            'check_callback': true,
        },
        "plugins": ["dnd"]

    });
});

我认为你需要准备网址