如何禁用kendoiu下拉列表的選項?
我怎麼也找不到自己的文檔中做到這一點...禁用KendoUI下拉列表選項
回答
試試下面的辦法(here和here有一些演示):使用您的項目,其中有條件地增加了CLA一個template ss到要禁用的項目。有關哪些項目應禁用的信息來自底層數據對象。
HTML:
<script id="template" type="text/x-kendo-tmpl">
#
if (data.disabled != null) {#
<span class="tbd" > ${data.text} - is disabled </span>
# } else { #
<span>${data.text}</span > #
}#
</script>
<input id="color" value="1" />
jQuery和劍道UI(這裏注意disabled
額外的屬性爲橙色項目和dataBound event的使用):
var data = [{
text: "Black",
value: "1"
}, {
text: "Orange",
value: "2",
disabled: "disabled"
}, {
text: "Grey",
value: "3"
}];
$("#color").kendoDropDownList({
dataTextField: "text",
dataValueField: "value",
dataSource: data,
index: 0,
template: kendo.template($("#template").html()),
dataBound: function (e) {
$(".tbd").parent().click(false);
}
});
CSS爲灰色顯示:
.tbd{
color:#777777
}
基於問題here,你可以訪問相關項目和改變屬性,像這樣:
var ds = $('#YourCombo').data().kendoComboBox.dataSource;
//someIndex is the index of the item in the dataSource
ds.data()[someIndex].set("enabled","False");
我可以看到這是如何工作的文字,但不知道它會解決禁用該選項..應該有一些額外的綁定下拉列表? – CoffeeCode
嘗試這樣
$('#YourDropDown').attr('disabled', 'disabled');
這會禁用下拉列表,而不是選項。 –
劍道目前不支持這種功能,但這是最簡單的黑客,我發現禁用劍道下拉選項。
$("#" + id + "_listbox .k-item")[index].disabled = true;
其中id - >您的下拉菜單的ID
指數 - >你要禁用的下拉列表中元素的位置。
希望它有幫助。享受:)
那麼你會如何灰化那件物品呢? – Shardul
這是crazzy ...我喜歡它..什麼是快速和完美的解決方案 –
@Shardul:你可以試試這個,它的工作原理 $(「#ID.k-item」)[0] .style.cssText =「顏色:lightgrey「 –
你可以嘗試這樣的事:
var dropDown = $("#yourDropdown").data("kendoDropDownList");
dropDown.enable(false);
禁用整個下拉菜單,而不是單個選項... – Sebazzz
如果要禁用整個控制和你正在使用的MVC流利的API,那麼你可以使用.HtmlAttributes()方法:
@Html.Kendo()
.DropDownList()
.HtmlAttributes(new { @disabled = "disabled" })
雖然接受的答案將防止點擊該項目,但它仍然允許鍵盤導航(並感覺很駭人聽聞)。
使用DataItems來識別哪個項目應該被禁用,但的確是要走的路,但是實現一個Select
處理程序將停止鏈,而不是去除click處理程序。這種方法是通過supported and documented劍道:
當從彈出的項目是由用戶選定的燃燒或者與 鼠標/抽頭或與鍵盤導航。
...
e.preventDefault功能
如果調用阻止選擇操作。該小部件將保留前一個選定項目的 。
剩下的工作就是檢測是否我們要取消選擇或沒有,這是平凡的,如果你的數據項保持標識是否可用與否屬性:
function Select(e) {
if (e.sender.dataItem(e.item).disabled) {
e.preventDefault();
}
}
使用模板注入特定的類是不需要的,但我仍然會推薦它,如果只是爲了啓用適當的樣式。
- 1. 隱藏KendoUI下拉列表
- 2. Angularjs + kendoui下拉列表
- 3. 綁定KendoUi下拉列表
- 4. 禁用下拉選項
- 5. 禁用下拉列表項目
- 6. 從下拉列表中禁用某個選定的選項
- 7. 禁用複選框和下拉列表
- 8. 下拉列表選擇值禁用
- 9. 使用javascript從下拉列表中禁用多個選項
- 10. 下拉列表選項
- 11. 的下拉列表選項
- 12. Vuejs禁用選定的下拉選項?
- 13. 禁用下拉列表
- 14. 禁用下拉列表
- 15. 無法讀取KendoUI下拉列表值
- 16. KendoUI設置下拉列表的寬度
- 17. 如何在下拉列表中禁用默認選項
- 18. 水豚如何測試下拉列表中的禁用選項
- 19. 在某些選項上禁用事件/刷新下拉列表
- 20. 禁用動態創建的下拉列表選項
- 21. MVC4在選擇下拉列表項目時禁用文本框
- 22. 在Yii2中禁用提示選項下拉列表
- 23. KendoUI網格應用過濾器下拉選項選擇
- 24. 如何在其他下拉列表中選擇某個項目時禁用下拉列表中的項目?
- 25. 禁用下拉選項使用jquery
- 26. 根據欄中的上述下拉列表的選擇禁用下拉列表
- 27. KendoUi下拉列表:如何選擇文本,而不是指數
- 28. 從kendoui下拉列表中提取選定的數據值
- 29. 淘汰選擇下拉禁用項目
- 30. HTML下拉禁用強選項
這就是我一直在尋找的!謝啦! – CoffeeCode
不錯的解決方案@亞歷 – Nick
這個工程,但我試圖找到一個動態的方法,它似乎不可能到目前爲止 – Nick