gpt4 book ai didi

javascript - 获取knockoutJs中选定的值

转载 作者:太空宇宙 更新时间:2023-11-04 15:53:10 26 4
gpt4 key购买 nike

我使用下面的代码将值传递给选择数据

<select data-bind="options: preferedTimeToPickup,optionsCaption: 'Choose...',
optionsText: 'name',value: preferedTimeToPickupVal" id="u3413_input" class="text_sketch">
</select>

在 KnockoutJ 中

this.preferedTimeToPickup = 
[{name:"Specific: 8:00",price:10.25},
{name:"Specific:9:00",price:12.25 },
{name:"Specific: 10:00",price:13.25}
];
this.preferedTimeToPickupVal = ko.observable();

当我尝试使用以下代码进行选择时获取所选价格时。

this.subtotal = ko.computed(function() {
return this.preferedTimeToPickupVal().price;
});

出现以下错误

Uncaught TypeError: Cannot read property 'preferedTimeToPickupVal' of undefined

有人可以帮我解决这个问题吗?

最佳答案

由于在您的计算函数中,您使用this关键字引用您的 View 模型实例,因此您需要向其传递函数上下文 计算的:

this.subtotal = ko.computed(function() {
// now 'this' refers to your view-model, but you first
// need to check if 'preferedTimeToPickupVal' is set
var preferred = this.preferedTimeToPickupVal();

if (preferred)
return preferred.price;
else
return 0;
}, this);

此外,在访问其 price 属性之前,您需要检查 preferedTimeToPickupVal 是否不为空。

参见Documentation

关于javascript - 获取knockoutJs中选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42952320/

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