Wie ändert man Text für ausgewählte Felder in Großbuchstaben mit KnockoutJS?

8

Meine Anwendungsbesitzer möchten, dass Textfelder groß geschrieben werden, wenn die Feststelltaste aktiviert ist. Ich verwende ein KnockoutJS Viewmodel mit Observables für diese Felder. Gibt es einen Weg, wie ich jeden vom Benutzer eingegebenen Text tatsächlich in Großbuchstaben umwandeln kann?

Ich habe ein input -Ereignis auf die Steuerelemente gesetzt, die ich ändern wollte, aber ich habe festgestellt, dass die Observables zwar aktualisiert werden, aber nicht aktualisiert werden.

%Vor%

Ich habe auch darüber nachgedacht, eine ucase CSS-Klasse auf die Steuerelemente zu setzen, die ich in Großbuchstaben und dann entweder auf dem Client oder auf dem Server speichern möchte, und diese Felder in Großbuchstaben zu speichern.

%Vor%     
DaveB 21.07.2014, 17:24
quelle

1 Antwort

8

Sie könnten Ihre Observablen erweitern -

%Vor%

Geigenbeispiel - Ссылка

Wenn der Wert sich ändert, wird der Wert des Observablen in Großbuchstaben umgewandelt.

Der Nachteil hier ist, dass es tatsächlich den Wert ändert und es auch so speichert. Sie könnten eine berechnete Eigenschaft auch immer nur zur Anzeige an die Observable anheften. Sie könnten dies mit einem ko.computed, einem Custom Binding-Handler (da es nur für die Präsentation ist) oder etwas Ähnliches tun. Wenn das mehr von dem ist, was Sie suchen, lassen Sie es mich mit einem Kommentar wissen.

Bearbeiten

Aktualisiert mit afterkeydown - Ссылка

    
PW Kad 21.07.2014, 17:32
quelle

Tags und Links