Knockout js表编辑列获取onkeyup / Onchange最新值。 [小提琴](https://jsfiddle.net/chiks/975ncawv/521/)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Knockout js表编辑列获取onkeyup / Onchange最新值。 [小提琴](https://jsfiddle.net/chiks/975ncawv/521/)相关的知识,希望对你有一定的参考价值。
我有一个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);
});
答案
这比它需要的更复杂。
- 默认情况下,Observable会在其值更新时触发更改事件。您无需在html中创建事件绑定即可收听更改。保持这样:
<input data-bind="value: Menge "/>
- 要监听此
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。
以上是关于Knockout js表编辑列获取onkeyup / Onchange最新值。 [小提琴](https://jsfiddle.net/chiks/975ncawv/521/)的主要内容,如果未能解决你的问题,请参考以下文章
使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具
Knockout.js - 如何使用“foreach”以两种不同的方式显示项目列表?