Кендо меню пользовательского интерфейса при открытии создать подменю
Я пытаюсь создать подменю с помощью вызова ajax, отправив родительский элемент в качестве параметра, чтобы получить элементы подменю для события open, но не работает.
У кого-нибудь есть идеи, как это можно сделать?
Спасибо
2 ответа
Вы можете использовать метод добавления как
menu.append({text: submenu}, parentMenu);
где
- parentMenu > - это цель, к которой вы хотите добавить, нам нужно передать это как параметр из события select
- подменю> - текст / строка подменю
я попробовал сам, вот пример
немного пояснения к примеру:
- получите e.item и сохраните / передайте его функции и позже он будет использован как цель, к которой мы хотели добавить
- затем, после получения ответа, выполните вызов 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.