2015-08-20 65 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