我有一个剑道组合框,其中有两个条目,例如“ Thing 1”和“ Thing 2”。我希望默认设置“事物1”。
有没有首选的方法可以做到这一点?我似乎找不到它,尽管我确实将占位符属性设置为“ Thing 1”并且可以正常工作。Kendo文档说占位符是“小部件为空时由小部件显示的提示。默认情况下未设置。” 我使用占位符的方式不正确吗?
该optionLabel属性(我相信您将其称为占位符)用于指定不代表任何选择的文本。从列表中选择该项时,所选项目为null,因此不是用于设置默认值的正确解决方案,除非您希望默认选择为null。可以通过select()在窗口小部件实例上调用方法来以编程方式设置选择。以下示例将选择设置为“ Thing1”。
<div id="dropdownlist"></div>
<script type="text/javascript">
$("#dropdownlist").kendoDropDownList({
dataSource: [
'Thing1',
'Thing2',
'Thing3'
],
optionLabel: "None"
});
$("#dropdownlist").data("kendoDropDownList").select(1);
</script>
Run Code Online (Sandbox Code Playgroud)
值得注意的是,这不是实现此目标的唯一方法。我上面的示例使用Imperative(JQuery)语法声明下拉列表。如果使用的是ASP.NET MVC服务器包装,则可以在声明中设置一个Value属性,例如:
.Value("1")
Run Code Online (Sandbox Code Playgroud)
最后,如果将MVVM与声明式初始化一起使用,则可以将选择绑定到视图模型上的值。因为我假设您没有使用此机制,所以我并未将答案与MVVM示例复杂化。