ノックアウトJSを使用してforeachテンプレートの行合計を更新する方法に行き詰まっています
<div id="timeEntryList" data-bind="foreach: timeEntries">
<table >
<tr>
...
<td> //there are more of this, not included here
<input type="number"
data-bind="value: Days[6].Hours,
event: { change: $root.setDirty }" />
</td>
<td> //this part needs to be updated when the above input is changed
<span data-bind="text: $root.sumRow($data)">
</span>
</td>
最後の TD には、foreach で現在の項目について報告された時間の合計を表示する span 要素が含まれています。データが読み込まれると正しく表示されますが、要素を編集すると古いままになります。入力ボックスの値を変更すると、この要素を更新するにはどうすればよいですか?
これは、非常にスリム化されたバージョンのビュー モデルです。
var TimeReportModel = function (init) {
this.timeEntries = ko.observableArray(init.TimeEntries);
//... helper functions
};
TimeEntries は、報告された 1 週間あたりの時間を表すオブジェクトです。そのため、日付の配列が含まれており、各日には時間プロパティがあります。