更新
這裏的問題是由於使用Kendo DropDownList組件導致的,該組件在實例化時將從列表中的項目集合中移除任何disabled
元素。
<select id='state' kendo-drop-down-list style="width: 28rem;">
<option>State</option>
<option>Azerbaijan</option>
<option>Belarus</option>
</select>
<script>
$(function(){
// Instantiate the drop down
$('#state').kendoDropDownList();
// Explicitly disable the first element
$("#state_listbox .k-item")[0].disabled = true;
});
</script>
你可以看到這個下文一個工作片斷:
由於劍道不支持這種行爲,你可以使用下面的黑客工具,包括明確禁用該選項,實例化組件後,實現它自己:
<!DOCTYPE html>
<html>
<head>
<link href="https://da7xgjtj801h2.cloudfront.net/2015.2.624/styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
<link href="https://da7xgjtj801h2.cloudfront.net/2015.2.624/styles/kendo.silver.min.css" rel="stylesheet" type="text/css" />
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<script src="https://da7xgjtj801h2.cloudfront.net/2015.2.624/js/kendo.ui.core.min.js"></script>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Kendo Snippet Example</title>
</head>
<body>
<select id='state' kendo-drop-down-list style="width: 28rem;">
<option>State</option>
<option>Azerbaijan</option>
<option>Belarus</option>
</select>
<script>
$(function(){
$('#state').kendoDropDownList();
// Explicitly disable the first element
$("#state_listbox .k-item")[0].disabled = true;
});
</script>
</body>
</html>
原始迴應(不包括劍道)
您是否嘗試將placeholder
屬性設置爲「狀態」?
<select kendo-drop-down-list style="width: 28rem;" placeholder='State'>
<option selected disabled="disabled" >State</option>
<option>Azerbaijan</option>
<option>Belarus</option>
</select>
這將設置默認的顯示文字爲「國家」,但它不會允許它明確地在事後選擇:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<select kendo-drop-down-list style="width: 28rem;" placeholder='State'>
<option selected disabled="disabled" >State</option>
<option>Azerbaijan</option>
<option>Belarus</option>
</select>
</body>
</html>
此外,如果問題是由於將Kendo相關樣式應用於元素,因此在實例化Kendo Dropdown時可以使用optionLabel
屬性明確設置此默認「佔位符」:
$('[kendo-drop-down-list').kendoDropDownList(){
/* Other configuration here */
optionLabel: 'State'
}
我試過了,但它不起作用 – chan
這段代碼不適合你嗎?它在加載時顯示「狀態」,然後嘗試更改該選項時將被禁用。另外,如果你真的在使用Kendo DropDown,你可能會考慮查看它的文檔,看看它是否支持這樣的行爲。 –
我不知道發生了什麼,但它並沒有在我的下拉菜單中顯示狀態 – chan