kendo 菜单 ui 打开创建子菜单
kendo menu ui on open create submenu
我正在尝试通过 ajax 调用创建子菜单,将父元素作为参数发送以获取打开事件中的子菜单项,但无法正常工作。
有没有人知道如何做到这一点?
谢谢
菜单的 append method 包含您要附加的项目列表和目标(默认为根目录)。因此,根据您的 ajax 参考,我假设您正在从 server/database 中获取子菜单。所以将其转换为数组并将其传递给:
$.ajax({
type: "POST",
... etc.
success: function (menuData) {
... compose your submenu
var menu = $("#menu").kendoMenu().data("kendoMenu");
menu.append(submenuarray, $("#targetMenuItem"));
...
});
这是一个没有数据库部分的简化DOJO example。
如果您希望在打开菜单时出现这种情况,请添加 Open event。
您可以使用像
这样的追加方法
menu.append({text: submenu}, parentMenu);
其中
- parentMenu > 是您要追加的目标,我们需要将其作为参数从 select 事件
传递
- submenu > 是子菜单 text/string
我自己试了一下,下面是example
示例的一些解释:
- 将 e.item 和 store/pass 获取到函数中,稍后将用作我们要追加的目标
- 执行 ajax 调用,然后在收到响应后,循环访问子菜单并将其添加到父菜单
ps : 如果你 select 菜单两次它仍然有 1 个问题它将附加子菜单两次,你需要处理这个问题
我正在尝试通过 ajax 调用创建子菜单,将父元素作为参数发送以获取打开事件中的子菜单项,但无法正常工作。
有没有人知道如何做到这一点?
谢谢
菜单的 append method 包含您要附加的项目列表和目标(默认为根目录)。因此,根据您的 ajax 参考,我假设您正在从 server/database 中获取子菜单。所以将其转换为数组并将其传递给:
$.ajax({
type: "POST",
... etc.
success: function (menuData) {
... compose your submenu
var menu = $("#menu").kendoMenu().data("kendoMenu");
menu.append(submenuarray, $("#targetMenuItem"));
...
});
这是一个没有数据库部分的简化DOJO example。
如果您希望在打开菜单时出现这种情况,请添加 Open event。
您可以使用像
这样的追加方法menu.append({text: submenu}, parentMenu);
其中
- parentMenu > 是您要追加的目标,我们需要将其作为参数从 select 事件 传递
- submenu > 是子菜单 text/string
我自己试了一下,下面是example
示例的一些解释:
- 将 e.item 和 store/pass 获取到函数中,稍后将用作我们要追加的目标
- 执行 ajax 调用,然后在收到响应后,循环访问子菜单并将其添加到父菜单
ps : 如果你 select 菜单两次它仍然有 1 个问题它将附加子菜单两次,你需要处理这个问题