Как показать выбранные узлы дерева — jsTree jQuery

#javascript #php #jquery #jstree

#javascript #php #jquery #jstree

Вопрос:

Я хочу показать записи в формате дерева, для которого я использовал плагин jsTree из jQuery.

Я успешно реализовал jsTree для отображения записей в виде дерева, но у меня возникает проблема, когда пользователь выбирает узлы из дерева, для этого я также хочу показать выбранные узлы в виде дерева для лучшего представления.. но код, похоже, работает не идеально..

Приведенный ниже код отображает дерево:

         $.ajax({
        url: "<?php echo base_url(); ?>Controller_Name/Function_Name",
        type: "POST",
        data: "code=" code,
        success: function(result)
        {                       
            $('#jstree').jstree("destroy");                 
            $('#jstree').jstree({
            'checkbox': { 
                three_state: true
            },
            'plugins': ['search', 'checkbox', 'wholerow'],
            'core': {
                'data': JSON.parse(result),
                'animation': false,
                    'themes': {
                        'icons': false,
                    }
                },
                'search': {
                    'show_only_matches': true,
                    'show_only_matches_children': true
                }
            });
        }
    });
  

Я хочу показать выбранные узлы в виде дерева, используя тот же плагин jsTree..
приведенный ниже код должен выдавать дерево выбранных узлов..

 $('#jstree').on('changed.jstree', function (e, data){
    var objects = data.instance.get_selected(true)
    var leaves = $.grep(objects, function (o) 
    { 
        return data.instance.is_leaf(e)
    })
    console.log(leaves);

    var json = [];
    $.each(leaves, function (i, o){
        district_ids();
        json.push({"id":o.id, "parent":o.parent, "text":o.text});
    });
    console.log(json);
    $.ajax({
        success: function(json){                
            $('#output').jstree("destroy");                 
            $('#output').jstree({
                'plugins': ['wholerow'],
                'core': {
                    'data': json,
                    //'data': json,
                },
            });
        }
    });
});
  

но функция не дает желаемого результата… он продолжает загружаться

Комментарии:

1. Вы хотите показать только выбранный узел или дочерние элементы выбранного узла вместе с ним?