Кендо меню пользовательского интерфейса при открытии создать подменю

Я пытаюсь создать подменю с помощью вызова ajax, отправив родительский элемент в качестве параметра, чтобы получить элементы подменю для события open, но не работает.

У кого-нибудь есть идеи, как это можно сделать?

Спасибо

2 ответа

Решение

Вы можете использовать метод добавления как

menu.append({text: submenu}, parentMenu);

где

  1. parentMenu > - это цель, к которой вы хотите добавить, нам нужно передать это как параметр из события select
  2. подменю> - текст / строка подменю

я попробовал сам, вот пример

немного пояснения к примеру:

  1. получите e.item и сохраните / передайте его функции и позже он будет использован как цель, к которой мы хотели добавить
  2. затем, после получения ответа, выполните вызов ajax, просто выполните цикл по подменю и добавьте его в родительское меню.

PS: есть еще 1 проблема, если вы выбираете меню дважды, оно будет добавлять подменю дважды, вам нужно решить эту проблему

Метод добавления в меню принимает список элементов, которые вы хотите добавить, и цель (по умолчанию это root). Итак, я полагаю, что по вашей ссылке на ajax вы получаете подменю с сервера / базы данных. Так что преобразуйте это в массив и передайте в:

$.ajax({ 
    type: "POST",
    ... etc.
    success: function (menuData) {
       ... compose your submenu
       var menu = $("#menu").kendoMenu().data("kendoMenu");
       menu.append(submenuarray, $("#targetMenuItem"));
    ...
});

Вот упрощенный пример DOJO без части базы данных.

Если вы хотите, чтобы это произошло при открытии меню, добавьте событие Open.

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