我有一个淘汰表模型。在表1中,列始终是可编辑的。我希望获得此列的更改值,即当发生onchange / onKeyup事件时,新更改的值应该对我有用,即在警报中我应该接收最新的更改值。
下面只是一个示例代码片段。请找到Fiddle
<td>
<input data-bind="event: {change:$parent.value_changed},value: Menge "/>
</td>
self.value_changed = ko.observable(self.items());
refVM.value_changed.subscribe(function (newValue) {
alert(newValue);
});
最佳答案
这比需要的复杂得多。
默认情况下,可观察对象会在其值更新时触发更改事件。您无需在HTML中创建事件绑定即可侦听更改。保持这样:
<input data-bind="value: Menge "/>
要监听此
Menge
观察对象触发的更改事件,只需在创建它后立即订阅它(在RowModel构造函数内部)。var RowModel = function(bild,artikelnummer, bezeichnung,kategorie,preis,menge,preisgesamt,removePeople, werbemittelId) {
this.Bild = ko.observable(bild);
this.Artikelnummer = ko.observable(artikelnummer);
...
this.Menge = ko.observable(menge);
...
this.Menge.subscribe(function(newValue){
alert(newValue);
});
};
这是更新的fiddle。