gpt4 book ai didi

knockout.js - KnockoutJS 选择选项和选择的值

转载 作者:行者123 更新时间:2023-12-03 12:34:15 26 4
gpt4 key购买 nike

类似的问题:Select element's initial value

我在设置选择元素的初始值时遇到问题。我基本上有一个来自服务器的种子数据列表来填充下拉列表,我希望所选值代表应该从实体中选择的内容。

因为数据模型的选择值不等于种子数据中的对象引用,所以没有选择任何内容。

现在,我正在遍历每个实体,找到正确的选定值,将其设置为等于种子数据的等效值,然后 Knockout 知道如何连接它。

有没有更优雅的解决方案?我用更多细节摆弄了一个简化的例子... http://jsfiddle.net/hbrYM/14/

最佳答案

正如您正确猜测的那样, selectedValue 引用不匹配,因此 KO 没有选择该项目。使其工作的方法是不将复杂对象保存在所选值中,而是选择 ID,因为原始类型相等可以成功并选择正确的值。

http://jsfiddle.net/VLTFB/3/

您需要在选项绑定(bind)上使用 optionsValue 选项(如果有意义的话:)

<select data-bind="options: seedData,
optionsText: 'firstName',
optionsValue: 'ID',
value: data.selectedValue">

编辑

如前所述,您可以使用计算(未经测试)重新选择正确的项目。
vm.currentlySelected = ko.computed(function () { 
for (var i = 0; i < this.seedData().length; i += 1) {
var data = this.seedData()[i];
if (data.ID === this.selectedValue()) {
return data;
}
}
return null;
}, vm);

希望这可以帮助。

关于knockout.js - KnockoutJS 选择选项和选择的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10542801/

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