gpt4 book ai didi

jquery - KnockOutJS 将两个文本框值添加在一起

转载 作者:行者123 更新时间:2023-12-01 06:35:23 26 4
gpt4 key购买 nike

我想做的就是让 KnockOut 将两个文本框的值相加,然后将结果放入第三个文本框。

我这里有一个 JSFiddle:jsFiddle

我的 HTML 框是:

<input data-bind="value:AirportPickup" data-val="true" data-val-number="The field Airport Pickup £10 per person must be a number." data-val-required="The Airport Pickup £10 per person field is required." id="AirportPickup" name="AirportPickup" type="text" value="0" />

<input data-bind="value:PackedLunch" data-val="true" data-val-number="The field Packed Lunch £6.50 must be a number." data-val-required="The Packed Lunch £6.50 field is required." id="PackedLunch" name="PackedLunch" type="text" value="0" />

<input data-bind="value:Breakfast" data-val="true" data-val-number="The field Breakfast £6.00 must be a number." data-val-required="The Breakfast £6.00 field is required." id="Breakfast" name="Breakfast" type="text" value="0" />

...我的 jQuery 是:

$(document).ready(function () {

function AppViewModel() {
this.AirportPickup = ko.observable("");
this.PackedLunch = ko.observable("");
this.Breakfast = AirportPickup + PackedLunch;
}
ko.applyBindings(new AppViewModel());
});

但是,当我将任何内容放入前两个文本框中时,什么也没有发生。

有人可以帮忙吗?

谢谢

最佳答案

使用 computed observable :

http://jsfiddle.net/7kQP6/

$(document).ready(function () {

function AppViewModel() {
this.AirportPickup = ko.observable(0);
this.PackedLunch = ko.observable(0);
this.Breakfast = ko.computed(function () {
return Number(this.AirportPickup()) + Number(this.PackedLunch())
}, this);
}
ko.applyBindings(new AppViewModel());
});

请注意,此代码需要进行一些验证(例如,确保输入是数字)。

关于jquery - KnockOutJS 将两个文本框值添加在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17617632/

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