2017-01-05 3 views
1

Hier habe ich ein Feld, das deaktiviert ist. Es enthält die Berechnung von X Feld. Wenn sich das Feld x ändert, wird die Berechnung des deaktivierten Feldes geändert und wenn das deaktivierte Feld geändert wird, möchte ich Y berechnet berechnen. Also habe ich ng-change auf deaktiviert Feld angewendet.Aber es funktioniert nicht. Ist ng-change für deaktivierte Felder geeignet? Wenn nicht, gibt es Alternativen.Wie man ng-change für deaktiviert Feld anwenden?

Vielen Dank im Voraus.

+0

Nein, wird es nicht funktionieren. Machen Sie es nur lesen, aber nicht deaktiviert. –

Antwort

0

Die ngChange-Direktive funktioniert nicht mit disable/readonly-Eingängen, da sie nur ausgewertet wird, wenn eine Änderung des Eingabewerts dazu führt, dass ein neuer Wert an das Modell übergeben wird. Da Sie also den Wert programmgesteuert ändern und nichts in dieses Modell eingeben, wird ngChange nicht aufgerufen. Sie können $ scope. $ Watch verwenden.

aktualisieren

Html

Angenommen, Sie total1 Funktion aufrufen, wenn number1 geändert werden soll. ZB:

<input type="text" ng-model="number1" ng-readonly> 

-Controller

$scope.$watch('number1', function (newVal, oldVal) { 
    if (newVal !== oldVal) { 
     // Call total1 function 
     total1(); 
    } 
}); 
+0

können Sie mir bitte ein kleines Beispiel für '$ scope. $ Watch' geben –

+1

Schauen Sie einfach X-Modell. $ scope. $ watch ('X', Funktion (Wert) {Y = Wert}); – digit

+0

Ich habe gerade meine Antwort aktualisiert. Sie benötigen ein Modell für den Vergleich von altem Wert und neuem Wert. Setzen Sie ng-model = "etwas" in Ihren Eingabetext. – digit

Verwandte Themen