gpt4 book ai didi

javascript - 使用 Kendo MVVM Dropdownlist 时如何强制选择第一项

转载 作者:行者123 更新时间:2023-11-28 10:48:50 25 4
gpt4 key购买 nike

function GenericSelectFirst(e){
// This function is called without any errors, I have verified it
e.sender.select(0);
}

<select class="full-width"

name="..."
data-bind="source: ..., value: ..., visible: ..., events:{dataBound: Function.GenericSelectFirst}"
data-role="dropdownlist"
data-value-field="..."
data-text-field="..."
data-value-primitive="true"
data-auto-bind="true"
required="required"
>
</select>

我不认为实现这样一个常见的简单场景有那么难,但是我有一个使用 MVVM 风格初始化的 Kendo DropDownList,并且它绑定(bind)了远程数据源。

我想要实现的是,一旦远程数据源准备好并绑定(bind)到小部件,默认选择第一个选项(当然第一项的值应该绑定(bind)到 View 模型)

我尝试直接使用上面的代码来执行此操作,该代码将 dataBound 事件绑定(bind)到小部件,并在触发时选择第一个项目。回调方法已被正确调用,但小部件从未选择第一个选项,而是继续选择第一个默认的“空”选项。

我做错了什么,该如何解决?如有任何建议,我们将不胜感激!

最佳答案

您使用的是哪个版本的剑道?如果是最新的,请记住从那时起 V. Q1 2015 ,为了更好地匹配 Html Select 行为并解决与 MVVM 值绑定(bind)相关的一些问题,下拉列表现在允许清除其值(取消选择所选项目)。这将引入以下重大更改:

当选择的索引为 -1 时,小部件将不会选择第一个项目当数据源中不存在所选值时,小部件将不会选择第一个项目

长话短说,如果有人想获得以前的行为,那么他/她将需要手动选择第一项:

  dataBound: function() {
if (this.select() === -1) { //check whether any item is selected
this.select(0);
this.trigger("change");
}
}

关于javascript - 使用 Kendo MVVM Dropdownlist 时如何强制选择第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37291655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com