私は次のことをしようとしています。列 1 の合計を列 2 の計算関数で使用したいのですが、ノックアウトと jquery を使用してこれを行う簡単な方法はありますか?
col1 | col2
---------------------------
1 | .21 * col1_total
10 | .25 * col1_total
20 | .31 * col1_total
----------------------------
col1_total| col2_total
より良い例のコードを追加しました。問題はself.col3にあります。self.col1total は、コードのその部分からは利用できません。どうすればそれを回避できますか?
function custdata(data) {
var self = this;
self.col1= ko.observable(data.col1);
self.col2= ko.observable(data.col2);
self.col3= ko.computed(function(){
return self.col1() * self.col1total();
});
}
function guideviewmodel() {
var self = this;
self.custlist = ko.observableArray([]);
self.col1total = ko.computed(function () {
var total = 0;
$.each(self.custlist(), function () { total += this.col1(); });
return total;
});
self.custlist.removeAll();
$.getJSON(callPath + "/api/xxx?guid=" + $("#lblFilteredID").text(), function (allData) {
var mappedLogs = $.map(allData, function (item) { return new custdata(item) });
self.custlist(mappedLogs)
});
}