2015-08-20 64 views
1

我无法在document.ready()函数中禁用kendo ui多选控件的特定选项。以下代码不会在加载时禁用Item1。如何禁用Kendo UI Multiselect选项?任何JSFiddle示例?

<select id="multiselect" multiple="multiple"> 
    <option disabled="disabled">Item1</option> 
    <option>Item2</option> 
</select> 

任何帮助将不胜感激。

感谢

+0

http://www.telerik.com/forums/disabling-one-or-multiple-options –

+0

这并没有帮助:-( – ssd

+0

因此,基本上,没有禁用功能呢。您只能隐藏选项。 –

回答

0

如果你想你初始化多选前禁用选项:

$(document).ready(function() { 
    $("#multiselect option").eq(0).prop("disabled", "disabled");   
    $("#multiselect").kendoMultiSelect({}); 
    }); 

但是,如果多选已初始化,然后你需要摧毁的部件,更新选项,重新初始化窗口小部件:

<div id="msCont"> 
    <select id="multiselect" multiple="multiple"> 
    <option value="1">Item1</option> 
    <option value="2">Item2</option> 
    <option value="3">Item3</option> 
    <option value="4">Item4</option> 
    <option value="5">Item5</option> 
    </select> 
</div> 

$(document).ready(function() { 
    //Init widget 
    $("#multiselect").kendoMultiSelect({}); 
    //Destroy widget 
    var multiselect = $("#multiselect").data("kendoMultiSelect"); 
    multiselect.destroy(); 
    //KendoUI seems to leave behind some widget divs, so remove them 
    // using container div as selector 
    $("#msCont").find(".k-multiselect-wrap").remove(); 
    $("#msCont").prepend($("#multiselect")).find(".k-widget").remove(); 
    //update the option and re-initialize 
    $("#multiselect option").eq(0).prop("disabled", "disabled");   
    $("#multiselect").kendoMultiSelect({});  
}); 

DEMO

+0

你好..感谢您的回复。我运行了你的演示,但实际上从列表中删除了一个选项,而不是禁用它。 – ssd

+0

@ssd,这是kendoUI如何处理禁用的选项... – ezanker