Knockout js表编辑列获取onkeyup / Onchange最新值。 [小提琴](https://jsfiddle.net/chiks/975ncawv/521/)

问题描述 投票:0回答:1

我有一个Knockout Model for Table。在表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);
});
javascript html knockout.js knockout-3.0
1个回答
1
投票

这比它需要的更复杂。

  1. 默认情况下,Observable会在其值更新时触发更改事件。您无需在HTML中创建事件绑定即可收听更改。保持这样: <input data-bind="value: Menge "/>
  2. 要监听此Menge observable触发的更改事件,只需在创建它之后立即订阅它(在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

© www.soinside.com 2019 - 2024. All rights reserved.