显示所选菜单项必须显示在父项中

时间:2014-02-27 06:34:32

标签: javascript jquery kendo-ui

我正在使用kendo UI菜单。 我已经定义了像

$("#menu").kendoMenu({
     dataSource: [
             { text: "parent",
                 items: [
                                { text: "child1" },
                                { text: "child2" },
                                { text: "child3" },
                                { text: "child4" }
                            ]
               }     
             ],
      select:function(e){
            $(e.item).children(".k-link").text();
       }
   });

最初,菜单将文本显示为“父级”。 我想要的是,在select事件中,当我点击任何其他项目时,所选项目文本必须显示在顶部菜单中。告诉我如何更改剑道菜单中的文字

1 个答案:

答案 0 :(得分:2)

尽管menu使用DataSource构建初始内容,但不再使用它,并且DataSource中的任何操作都不会直接反映在菜单中。这意味着你必须操纵DOM对象来替换文本。

// Get selected text
var text = $(e.item).text();
// Get the first parent (in case you have multiple menu levels) 
var topParent = $(e.item).parents("li").last();
// And now go to the node that contains the text
var textParent = $("> span.k-link",  topParent);
// Go to the content (text) and replace it with child text
textParent.contents().first()[0].textContent = text;

在此处查看此行动:http://jsfiddle.net/OnaBai/kfcdF/