【问题标题】:kendo menu ui on open create submenu打开创建子菜单时的剑道菜单 ui
【发布时间】:2018-04-18 16:57:04
【问题描述】:

我正在尝试通过 ajax 调用创建子菜单,将父元素作为参数发送以获取打开事件中的子菜单项,但无法正常工作。

有没有人知道如何做到这一点?

谢谢

【问题讨论】:

    标签: jquery ajax kendo-ui menu kendo-menu


    【解决方案1】:

    你可以像这样使用 append 方法

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

    在哪里

    1. parentMenu > 是您要附加的目标,我们需要将此作为参数从选择事件传递
    2. submenu > 是子菜单文本/字符串

    我自己试过了,这里是example

    对例子的一点解释:

    1. 获取 e.item 并将其存储/传递给函数,稍后将用作我们要附加的目标
    2. 执行 ajax 调用,然后在收到响应后,循环遍历子菜单并将其添加到父菜单

    ps:还有1个问题,如果你选择两次菜单会追加两次子菜单,你需要处理这个问题

    【讨论】:

      【解决方案2】:

      菜单的append method 包含一个您要附加的项目列表和一个目标(默认为root)。因此,我假设您的 ajax 参考您正在从服务器/数据库中获取子菜单。所以将其转换为数组并传入:

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

      这是一个简化的DOJO example,没有数据库部分。

      如果您希望在打开菜单时发生这种情况,请添加 Open event

      【讨论】:

      • 我正在做类似的事情,但是我希望它在选择子菜单时将菜单项附加到子菜单上,按照您的示例,如果当您选择菜单项的子项 1 时作为子项 1 的子项添加。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      相关资源
      最近更新 更多