2013-06-24 68 views
4

我想要动态禁用kendo菜单子项目。我已经定义了剑道菜单像如何禁用kendo菜单子项目

Html: 
<div id="menu"></div> 
<button id='enable'>Enable</button> 

的Jquery:

$("#menu").kendoMenu({ 
    dataSource:[{text:"Actions",value:1,items:[{text:"First",value:2},{text:"Second",value:2}]}] 
}); 

现在我想禁用的第二个项目。按钮点击我想启用菜单

$("#enable").on('click',function(){ 
    // here i want to enable the second 
}); 

我该怎么做。

+0

你用小提琴链接试过了答案吗? –

回答

8

试试下面的代码:

var menu = $("#menu").kendoMenu().data("kendoMenu");  
menu.enable("li:last", false); 

参考:http://jsfiddle.net/ramsunvtech/VXEEN/

更新:2016年12月26日

var menu = $("#menu").kendoMenu().data("kendoMenu"); 
 

 
$("#enable").on('click', function() { 
 
    menu.enable("li:last", true); 
 
}); 
 

 
$("#disable").on('click', function() { 
 
    menu.enable("li:last", false); 
 
});
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.common-material.min.css" /> 
 
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.material.min.css" /> 
 
<link rel="stylesheet" href="//kendo.cdn.telerik.com/2016.3.1118/styles/kendo.material.mobile.min.css" /> 
 

 
<script src="//kendo.cdn.telerik.com/2016.3.1118/js/jquery.min.js"></script> 
 
<script src="//kendo.cdn.telerik.com/2016.3.1118/js/kendo.all.min.js"></script> 
 

 
<button id='disable'>Disable Last Item</button> 
 
<button id='enable'>Enable Last Item</button> 
 

 
<ul id="menu"> 
 
    <li> 
 
    Continents 
 
    <ul> 
 
     <li> 
 
     Asia 
 
     <ul> 
 
      <!-- moving the UL to the next line will cause an IE7 problem --> 
 
      <li>India</li> 
 
      <li>China</li> 
 
      <li>Japan</li> 
 
      <li>South Korea</li> 
 
     </ul> 
 

 

 
     </li> 
 
     <li>Europe</li> 
 
     <li>Middle East</li> 
 
    </ul> 
 
    </li> 
 
</ul> 
 

 

 
    

API参考:http://docs.telerik.com/kendo-ui/api/javascript/ui/menu

+0

这是什么功能。我们如何才能禁用这个功能的第二个项目。当这个功能被称为 – Jonathan

+0

希望你禁用意味着你想禁用链接的权利!不可点击 –

+0

@Joanthan:我已经更新了答案,想到停用 –

3

阅读本 http://docs.kendoui.com/api/web/menu#methods-enable

必须以某种希望的目标的选择。 例如,如果你为你的菜单提供了一个模板,你的第二个选择的ID为“第二”,那么这就是你如何禁用它

var menu = $("#menu").data("kendoMenu"); 
menu.enable("#second", false); 
1

要在列表中引用的任何项目,你可以使用:eq jQuery Selector

var menu = $("#menu").kendoMenu().data("kendoMenu");  
menu.enable("li:eq(1)", false); 

你只需要传递该项目的索引作为参数。