剑道组合框设置默认值

vin*_*joe 1 kendo-ui

我有一个剑道组合框,其中有两个条目,例如“ Thing 1”和“ Thing 2”。我希望默认设置“事物1”。

有没有首选的方法可以做到这一点?我似乎找不到它,尽管我确实将占位符属性设置为“ Thing 1”并且可以正常工作。Kendo文档说占位符是“小部件为空时由小部件显示的提示。默认情况下未设置。” 我使用占位符的方式不正确吗?

Nig*_*elK 5

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示例复杂化。

  • 指定optionLabel时,空条目为零索引。因此,在我的示例中,select(1)实际上是正确的。如果没有optionLabel,则建议为(0)。 (2认同)