4

我想动态禁用剑道菜单子项。我已经定义了剑道菜单

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

查询:

$("#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
});

我怎样才能做到这一点。

4

3 回答 3

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

于 2013-06-24T06:57:17.583 回答
3

阅读此 http://docs.kendoui.c​​om/api/web/menu#methods-enable

您必须以某种方式定位您想要的选择。例如,如果您为菜单提供模板,并且您的第二个选项的 id 为“second”,那么这就是您禁用它的方式

var menu = $("#menu").data("kendoMenu");
menu.enable("#second", false);
于 2013-06-24T07:08:47.030 回答
1

要引用列表中的任何项目,您可以使用:eq jQuery 选择器

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

您只需将项目的索引作为参数传递。

于 2016-01-28T10:33:01.983 回答