2014-07-09 7 views
6

Ho un campo di testo che ha la proprietà value associata a una proprietà nel mio ViewModel.UI di Kendo: Forza l'aggiornamento di ViewModel su KeyPress in TextBox

Il problema è che ViewModel viene aggiornato per impostazione predefinita sull'evento "modificato" della casella di testo (quando la casella di testo perde il focus).

Desidero che il ViewModel venga aggiornato quando viene eseguito l'evento keypress.

Non voglio forzare l'evento "modificato" in ogni pressione di tasto, poiché in tale gestore di eventi è presente una logica e non deve essere eseguita per ogni sequenza di tasti.

C'è un modo per dire a Kendo di aggiornare ViewModel senza attivare l'evento "cambiato"?

So che posso modificare manualmente ViewModel, ma volevo qualcosa di più semplice e automatizzato.

Grazie per le vostre risposte,

  • Will

risposta

10

Utilizzare il aggiornamento del valore dei dati Bute. L'utilizzo dell'evento "keypress" non aggiorna l'ultimo carattere al modello associato, quindi utilizza invece l'evento "keyup".

<input id="name" type="text" 
    data-bind="value: name" data-value-update="keyup"> 

inizialmente ho testato utilizzando "Pressione", ma entrando testo risultati "ABCD" in "abc" nel ViewModel.

+0

ne fanno una risposta che potrebbe stare in piedi da sola, anche se la risposta di CodingWithSpike sarebbe cancellato, così com'è è un commento su una risposta, non è una risposta. – bummi

+0

Grazie, bummi. Ho cambiato il formato della mia risposta a una risposta. – cheino

+2

sfortunatamente non funziona sui loro widget (maskedtextbox, numberictextbox) – xinthose

0
<input type="text" data-value-update="keypress" data-bind="value: searchBySystemValue, events: { keypress: onkeypressEvent }"/> 

U può aggiungere la funzione di eventi