knockout.js - knockout get old value of the text box -
i'm using mapping plugin. have on 'blur' event whenever takes away focus text box. know if old value different new value. works correct "enter" key. reason whenever change value , press enter console output first time; 'oldvalue | newvalue'. not case when 'blur' fires. 'newvalue | newvalue'
how come?. how can new , old values on blur?
html:
<input class="percent-text" data-bind="text: percent, value: percent, event: { keypress: $root.percentupdate, blur: $root.percentupdate }" type="number" min="1" max="100" oninput="maxlength(this)" maxlength="3" />
knockout:
self.percentupdate = function (data, event) { if (event.keycode === 13 || event.type == 'blur') { var $target = $(event.currenttarget); console.log(data.percent() + " | " + event.target.value); } return true; };
knockout updates value on blur , value getting updated before blur event. don't know you're trying do, using .subscribe , .subscribe beforechange.
http://knockoutjs.com/documentation/observables.html
for example
data.percent.subscribe(function(newvalue) { alert(newvalue) });
and
data.percent.subscribe(function(oldvalue) { alert(oldvalue) }, null, "beforechange");