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"]
});

Когда я загружаю некоторые данные в первое дерево без отложенной загрузки, drag'n'drop работает как положено. Когда я загружаю данные в первое дерево с отложенной загрузкой, drag'n'drop больше не работает.

Любая помощь будет принята с благодарностью.

1 ответ

Попробуй это...

$(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"]

    });
});

Я думаю, вам нужно подготовить URL

Другие вопросы по тегам