Кендо UI TreeView добавить новый уровень

0

Kendo UI init:

$('#tree').kendoTreeView({
    select: function(e){
        this.expand(e.node);
    }
});

У меня есть первый уровень дерева и хочу загрузить другие уровни, щелкнув по узлу. Как я понял из документации, если использовать datasource, он будет загружать первый уровень тоже.

Поэтому я слушаю клик:

$(#tree).on('click', 'li', function(e){

    $.ajax({
        url: 'ajax.php',
        type: 'post',
        dataType: 'json',
        data:  $('#filter').serialize(),
        success: function(data){

            $.map(data, function(val){
                // What to do here?
            });
        }               
    });
});

В документации я нахожу только insertAfter и insertBefore, но ничего подобного insertInto.

Как я могу загрузить новые данные в li как дочерние ul, или заставить источник данных начать работать со второго уровня?

  • 0
    Почему бы не использовать готовый механизм для продолжения загрузки новых уровней дерева? Если у вас правильно определен HierarchicalDataSource, он загружается и расширяет каждый уровень при нажатии на него. HierarchicalDataSource не загружает все дерево (по умолчанию), но один уровень за раз, поэтому transport.read должен правильно идентифицировать расширенный узел и загружать (и вставлять в) полученные данные.
Теги:
kendo-ui
treeview

1 ответ

2
Лучший ответ

Вы можете попробовать использовать метод append. Другой вариант - настроить источник данных дерева. Затем он автоматически загружает новые уровни, когда пользователь расширяет узел. Вы можете проверить онлайн-демонстрацию: http://demos.kendoui.com/web/treeview/remote-data.html

  • 0
    Проблема демонстрации в том, что все данные загружаются с удаленного хоста, но в моем случае первый уровень уже загружен. Добавление - это то, что мне нужно, не могли бы вы рассказать, как добавить атрибут id в <li> с помощью метода append ? {taxt:'test',id:'testID'} не работает.
  • 0
    Метод добавления не позволит вам установить идентификатор. Вы можете сделать это с помощью jQuery после вызова метода добавления. parentLi.find ("li"). attr ("id", "testId")
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню