Sono abbastanza nuovo su KnockoutJS e amo ciò che ho visto finora. Attualmente, quando una proprietà osservabile del modello di vista è associata a la proprietà di testo della casella di testo (tipo di input = testo), il ViewModel viene aggiornato solo sull'evento di sfocatura della casella di testo. C'è un modo per aggiornare il modello di vista sull'evento di modifica della casella di testo? Ho provato creando un gestore di binding personalizzato sul cablaggio dell'handle del cambiamento sulla casella di testo in "init", ma in qualche modo non ha funzionato. questo è corretto per raggiungere questo obiettivo? O c'è un modo più semplice?KnockoutJS - Aggiornamento ViewModel OnModifica del valore della casella di testo anziché delle opzioni OnBlur
14
A
risposta
21
È possibile anche utilizzare un 'valore' vincolante e aggiungere l'attributo di legame valueUpdate
per specificare quando aggiornare il vostro controllo:
Vedi qui: http://knockoutjs.com/documentation/value-binding.html
<p>Your value: <input data-bind="value: someValue, valueUpdate: 'afterkeydown'" /></p>
<p>You have typed: <span data-bind="text: someValue"></span></p> <!-- updates in real-time -->
<script type="text/javascript">
var viewModel = {
someValue: ko.observable("edit me")
};
</script>
6
Sopra non è un lavoro, mentre copia incolla da mouse quindi è necessario passare gli eventi in valueUpdate. come ..
<p>Your value: <input data-bind="value: someValue, valueUpdate:['afterkeydown','propertychange','input']" /></p>
provare qui http://jsfiddle.net/uJCQq/4/
+0
Grazie, mi ha aiutato moltissimo! – WhatsInAName
Problemi correlati
- 1. Aggiornamento autonomo del display in knockoutjs
- 2. KnockoutJS Selezionare Opzioni e selezionato Valore
- 3. KnockoutJS - Rebinding ViewModel
- 4. Cancellare i valori della casella di testo onclick e visualizzare onblur
- 5. Lettura del valore della casella di testo ASP.NET con JavaScript
- 6. Perdita del valore della casella di testo sul postback
- 7. evento di clic sul pulsante perso a causa della casella di avviso nella casella di testo evento onblur
- 8. Come implementare dipendenze casella di controllo knockoutjs
- 9. Aggiornamento casella di testo durante la digitazione
- 10. Aggiornamento del thread UI (casella di testo) tramite C#
- 11. Evento onblur textbox ASP.Net
- 12. Aggiornamento SlickGrid con Knockoutjs via dependentObservable
- 13. Valore casella di testo ActiveX
- 14. KnockoutJS: Aggiorna/Inserisci dati a viewModel utilizzando la mappatura
- 15. cambia automaticamente la direzione del testo della casella di testo
- 16. Valore predefinito della casella di testo di input in AngularJS
- 17. Dojo: eventi dojo onblur
- 18. Come ottenere il valore della casella di testo in ember.js
- 19. Come ottenere il valore della casella di testo in React?
- 20. Il valore del database della casella di testo/casella di spunta non è corretto finché la casella di testo/casella di controllo non è convalidata
- 21. KnockoutJS valore di commutazione nei dati-bind
- 22. Knockoutjs selezionare con il gruppo di opzioni
- 23. asp.net ValidateRequest = false per casella di testo anziché per pagina?
- 24. casella di controllo knockoutjs e fare clic su parent td
- 25. Passa valore casella di testo utilizzando Html.ActionLink
- 26. Knockoutjs non aggiorna il valore quando si selezionano le opzioni modificate
- 27. JQuery che recupera il testo anziché il valore della lista di selezione
- 28. Come associare elementi DOM esistenti a una finestra KnockoutJS viewModel
- 29. Riattivazione delle proprietà della GUI di sola lettura in ViewModel
- 30. yii2: Mostra etichetta anziché valore per casella di controllo booleana
Grazie @KodeKreachor, che funziona come un fascino! –
Fai attenzione perché questo non garantisce il 100% di aggiornamento, ad es. se un utente incolla usando un menu contestuale, questo non funzionerà. –