Jquery 覆盖计算值

Jquery 覆盖计算值,jquery,knockout.js,Jquery,Knockout.js,我这里有这个密码 orderTotal = ko.computed(function () { return parseFloat($("#PurchaseDomainSuffix option:selected").text().match(/[0-9]+(?:\.[0-9]*)?/g)) || 0; } 在页面加载时从字符串中提取数值。(从dropdownlist加载)但当列表更改时,我无法确定如何更新orderTotal值 我是个新手,我正在研究一个ko.c

我这里有这个密码

  orderTotal = ko.computed(function () {

        return parseFloat($("#PurchaseDomainSuffix option:selected").text().match(/[0-9]+(?:\.[0-9]*)?/g)) || 0;
    }
在页面加载时从字符串中提取数值。(从dropdownlist加载)但当列表更改时,我无法确定如何更新orderTotal值

我是个新手,我正在研究一个ko.computed的写函数。不确定我看的方向是否正确。
在dropdownlist更改后,如何用新值覆盖页面加载的值

Knockout对下拉列表的支持非常酷

您可以使用
选项
绑定生成列表,使用值选项进行正确选择。这里有一个简单的例子

函数ViewModel(){
var self=这个;
self.list=[{
姓名:“早餐”,
时间:“早上”
},
{
名称:“午餐”,
时间:中午
},
{
名称:“晚餐”,
时间:'晚上'
}
];
self.selectedItem=ko.observable();
self.selectedComputed=ko.computed(函数(){
var selectedItem=self.selectedItem();
返回“我将在”+selectedItem;
});
}
应用绑定(新的ViewModel())




这很有道理。但下拉列表中的值是在页面加载之前由数据库拉取填充的。它们有时会改变。因此,在列表中对它们进行硬编码不是一个选项。您可以使用
observableArray
来包含列表。我只是以这个为例,最后将计算结果更改为可观察值,并运行.orderTotal(值)来更新它。