我被困在如何使用 knockoutJS 更新 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 包含一个 span 元素,该元素显示 foreach 中当前项目报告的小时总和。它在加载数据时正确显示,但在我编辑元素时保持陈旧。如何在更改输入框的值时更新此元素?
这是我的视图模型非常精简的版本:
var TimeReportModel = function (init) {
this.timeEntries = ko.observableArray(init.TimeEntries);
//... helper functions
};
TimeEntries 是表示每周报告的小时数的对象。所以它包含一个天数组,每一天都有一个小时属性。