Knockout js Столбец редактирования таблицы get onkeyup / Onchange Последнее значение. [Скрипка] (https://jsfiddle.net/chiks/975ncawv/521/) - PullRequest
0 голосов
/ 29 августа 2018

У меня есть модель нокаута для стола. В таблице 1 столбец всегда редактируемый. Я хочу получить измененное значение этого столбца, т. Е. Когда происходит событие onchange / onKeyup, новое измененное значение должно быть доступно мне, т. Е. В оповещении я должен получить самое новое измененное значение.

Ниже приведен пример кода. Пожалуйста, найдите Скрипка

<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);
});

1 Ответ

0 голосов
/ 29 августа 2018

Это намного сложнее, чем нужно.

  1. Наблюдаемые по умолчанию события смены огня при каждом обновлении их значения. Вам не нужно создавать привязку событий в HTML для прослушивания изменений. Держите это так:

    <input data-bind="value: Menge "/>
    
  2. Чтобы прослушать события изменения, вызванные этой наблюдаемой 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);
      });
    };
    

Вот обновленная скрипка .

...