Knockout.js 使用表外的字段删除更新表结果

Knockout.js 使用表外的字段删除更新表结果,knockout.js,Knockout.js,我的表外有一个文本框,敲除正在创建。我想让用户更新该字段,然后更新表中的数据。我已经创造了以下小提琴,显示了我正在尝试做什么 我用过 self.final = ko.computed(function() { return (self.sales() + $("#increase").val() * self.multiplier(); }); 但它似乎不会导致表更新 拨弄 我试图用这个简单的答案来回答我更复杂的问题。我使用的是json数据源 self.getCalcDat

我的表外有一个文本框,敲除正在创建。我想让用户更新该字段,然后更新表中的数据。我已经创造了以下小提琴,显示了我正在尝试做什么

我用过

self.final = ko.computed(function() {
return (self.sales() + $("#increase").val() * self.multiplier();
});  
但它似乎不会导致表更新

拨弄

我试图用这个简单的答案来回答我更复杂的问题。我使用的是json数据源

        self.getCalcData = function (mypath,index) {
            self.calcList.removeAll();
            $.getJSON(mypath, function (allData) {
                var mappedLogs = $.map(allData, function (item) { return new CalcList(item) });
                self.calcList(mappedLogs);
            });
        };
使用此数据函数

function CalcList(data) {
        var self = this;
        self.category = ko.observable(data.CATEGORY);
        self.sales = ko.observable(data.SALES);
        self.growthinput = ko.observable();
};
和视图模型

function LogEntryViewModel() {
        var self = this; 
        self.calcList = ko.observableArray([]);
        self.sales = ko.observable();
        self.growthinput = ko.observable();
};

我不能安静地得到第一个答案来使用它。

一种使它工作的方法是让knockout也为您的文本框进行绑定

viewmodel

self.increase = ko.observable(200);
并将其绑定到您的视图中:

<input id="increase" type="text" data-bind="value: increase"/>
然后,您可以在计算中使用
增加

self.final = ko.computed(function() {
      return self.sales() *  increase() * self.multiplier(); 
    });

谢谢你回答了这个问题。我希望我能用这个简单的答案来解决我更复杂的问题。我的数据实际上来自一个json数据源,因此我不确定如何向其中添加self.increase
self.final = ko.computed(function() {
      return self.sales() *  increase() * self.multiplier(); 
    });