2014-03-31 29 views
0

我需要根据用户在我的网页上的交互来更改菜单文本。我正在使用kendo网络菜单。到目前为止,我试了一下:Kendo UI web菜单,更改菜单文本

var menu1 = $("#menu1").data("kendoMenu"); menu1.element[0].childNodes[0].innerHtml = "NEW TEXT";

它可以很好地(用正确的索引),但菜单激发了一些变化(格式化,行为等)之后,这让我觉得这不是“官方”的做法。有任何想法吗?

回答

1

除了使用HTML DOM,您应该使用KendoUI菜单提供的一些方法来管理新选项。

你应该看一看到:

  • insertBefore:插入一个项目到指定referenceItem之前的菜单。
  • insertAfter:在指定的referenceItem后插入一个项目到Menu中。
  • append:将项目追加到指定referenceItem的子菜单中的菜单。

您应该使用一个或另一个取决于插入的位置。

在下面的例子中,你有一个菜单将作为第一方案二功能:

menu.insertBefore(
    [ { text: "NEW TEXT" } ], 
    "#where > li:first-child" 
); 

哪里#where是包含的选项(菜单项)列表中liid

如果你想在菜单中插入的最后一个选项:

menu.insertAfter(
    [ { text: "NEW TEXT" } ], 
    "#where > li:last-child" 
); 

你可以看到它在行动here