2016-06-29 21 views
1

ich eine Eingabetyp Nummer in AngularJS haben wie folgt ...Eingangstyp Nummer in AngularJS

<input type="number"></input> 

Ich möchte folgendes erreichen:

  • Wenn Benutzer einen positiven Wert eingibt, es Anzeige die gleiche Schriftart und Farbe sollte

  • Wenn der Benutzer einen negativen Wert zeigt, sollte es Schriftfarbe in rot angezeigt werden angibt, dass es eine negative Zahl ist

Kann mir bitte jemand sagen, wie man das dynamisch erreicht?

Antwort

1

Sie könnten dies tun.

HTML

<input type="number" ng-class="{negative: amount < 0, positive: amount > 0}" ng-model="amount"/>

CSS

.negative { 
    color: red; 
} 
.positive { 
    color: green; 
} 
+0

Danke Jon. werde dies versuchen und dich aktualisieren. – Patrick

+0

Hallo John, das funktioniert gut. Wat, wenn ich 2 Klassen habe. eine Klasse für einen positiven Wert und eine für einen negativen Wert. Wie kann ich diese Situation erreichen? – Patrick

+0

Patrick, ich habe meine Antwort bearbeitet, um auch positive Werte zu berücksichtigen. Alles, was Sie tun müssen, ist, eine neue Bedingung zu ng-class hinzuzufügen und auch eine zusätzliche Klasse zu erstellen, um diese in der CSS widerzuspiegeln. –

1
<input type="number" ng-change="amountChanged()" ng-style="myStyle.color" ng-model="amount"/> 

$scope.myStyle= {}; 
$scope.amountChanged = function() { 

    if($scope.amount < 0) 
    { 
     $scope.myStyle.color= {"color":"green"}; 
    } 
    else 
    { 
     $scope.myStyle.color= {"color":"blue"}; 
    } 

} 

Ich hoffe, es hilft.

+0

statt ng-Stil, kann ich verwenden ng-Klasse und eine Klasse direkt zuweisen? – Patrick

+0

Hallo Patrick, du kannst auch ng-class benutzen. – MSA

1
<input type="number" ng-model="number"> 
    <label ng-show="number > 0" style="color:green;">You are Correct</label> 
    <label ng-show="number < 0" style="color:red;">Your number is negative</label>