Die valueChanging
und valueChanged
Ereignisse auslösen würde, wenn ein Benutzer die Interaktion displayInput
Wert des Editors ändert, und der entsprechende Wert valueInput
unterscheidet sich von der Anzeigeeingabe ein. Die Editoren haben denselben Ansatz wie alle anderen Ignite UI-Steuerelemente, bei denen Ereignisse bei API-Aufrufen nicht ausgelöst werden, da der Entwickler bei einem API-Aufruf auswählen kann, ob er nach dem API-Aufruf seinen Ereignishandler aufrufen möchte oder nicht.
Es gibt zwei Dinge, die Sie tun können, um Ihren Event-Handler aufzurufen. Erstens ist die Event-Handler-Methode cachen und rufen Sie es manuell:
$('.tester').igCurrencyEditor({
...
valueChanged: valueChanged,
...
});
function valueChanged(event, ui) {
// event handler
};
$('.tester').igCurrencyEditor("setFocus");
$('.tester').igCurrencyEditor('option','value', 0);
valueChanged(null, { /* if you need arguments */ });
Das zweite ist die Währung Editor zu erweitern und die Methode überschreiben, die die Prüfung, ob diese Ereignisse führt ausgelöst werden soll, und machen es immer Trigger die Ereignisse:
$.widget("ui.igCurrencyEditorExtension", $.ui.igCurrencyEditor, {
_processValueChanging: function (value) {
this._triggerInternalValueChange(value);
}
}
der zweite Ansatz erfordert, dass Sie wechseln die igCurrencyEditorExtension
zu verwenden und kann Nebenwirkungen haben, wie das Verfahren auch andere Kontrollen durchführt.
Anyways, was Alex Marinov hat, sollte vorgeschlagen arbeiten, aber es hängt von Ihrem Editor Konfiguration, je nachdem, ob Sie haben festgelegt Nullvalue, erlauben Nullwerte im Editor usw.
Was die Version von Ignite UI ist dass du benutzt? –
Könnten Sie die Frage auch mit Ihrer Editorkonfiguration aktualisieren? –
Ich verwende Version 2015,2 .. meine Konfiguration ist wie folgt 'tt.igCurrencyEditor ({ Wert: sel, currency: "£", valuechanged: function (evt, ui) {// mein Code hier um Berechnungen auszulösen }}); ' – Michaelh