2013-12-23 4 views
7

Ich bin in html mitWie wird der NG-Modell-Eingabewert als Währung in Winkel angezeigt?

<input type="text" ng-model="price" > 

<h2>{{ price | currency}}</h2> 

In Controller

$scope.price = 10; 
Which displays **$10** in h1 if i change the value in price model input. 

Ich mag das Textfeld Eingabe in Währung ($ 10 in Eingabefeld als Wert) sein. Wie erreicht man das?

+0

Entschuldigung über meine vorherige Antwort, ich habe Sie nicht richtig gelesen. Bitte versuchen Sie meine Demo der neuen Antwort unten. – Daiwei

Antwort

15

Sie können versuchen, formatters und parsers wie

app.directive('currency', function() { 
    return { 
     require: 'ngModel', 
     link: function(elem, $scope, attrs, ngModel){ 
      ngModel.$formatters.push(function(val){ 
       return '$' + val 
      }); 
      ngModel.$parsers.push(function(val){ 
       return val.replace(/^\$/, '') 
      }); 
     } 
    } 
}) 

mit dann

<input type="text" ng-model="price" currency> 

Demo: Fiddle

+1

Danke für die Antwort. Wenn die Seite geladen ist, funktioniert die Lösung einwandfrei. Aber wenn ich den Eingang ändere, hat er gerade Nummer. Ich möchte, dass das Eingabefeld ein Währungssymbol hat, wenn es geändert wird. – bleedCoder

+0

@bleedCoder hast du die Geige überprüft ... es sieht gut aus –

+2

Wenn der Wert entfernt wird, verschwindet der Dollar. Irgendeine Idee warum? –

-3

Für die Eingabe Ich benutze keine ng-bind oder ng-model, habe ich immer ng-value anstelle .

<input type="text" ng-value="variable | currency:'US$ '" /> 
+1

Dies funktioniert auf der ersten Anzeige, wird jedoch beim Bearbeiten nicht neu formatiert. –

+0

Nun, die Frage ist: "Wie NG-Modell-Eingabewert als Währung angezeigt werden soll" und nicht "Wie bearbeitet man die Eingabe und behält die Währung bei". – MarceloBarbosa

+0

Ja, die Frage ist "Wie zeige ich ng-Modell ** Eingabewert ** als Währung an". Die Tatsache, dass die Person nach Eingabewerten fragt, bedeutet, dass sie die Formatierung für in ein Textfeld eingegebene Werte vornehmen soll. –

Verwandte Themen