i AngularJS bin hier, ich versuche, und tun Sie den Code untenAngularJS ng - Wiederholung, ng - Modell auf Eingabetext seltsames Verhalten
var app = angular.module('SomeApp', []);
app.controller('QuotationController', function($scope) {
$scope.init = function(){
$scope.chargableDescription = [""];
$scope.chargablePrice = [];
$scope.chargableQuantity = [];
$scope.chargableTotal = [];
}
$scope.chargableInput = function($last){
if ($last) {
$scope.chargableDescription.push([""]);
}
}
});
Im Grunde, was ich versuche, hier zu erreichen, ist die ganze einfügen Gruppe von Eingaben, wenn Benutzer etwas im letzten chargableDescription-Feld eingeben.
<div class="chargable-group" ng-repeat="item in chargableDescription" >
<div class="col-md-3">
<label class="form-control-label" for="l2" id="chargable-label">Chargable Item</label>
</div>
<div class="col-md-9" id="chargable-header">
<textarea name="chargable[]" class="form-control dynamic chargable" placeholder="Chargable Description" ng-model="chargableDescription[$index]" ng-keypress="chargableInput($last)"> </textarea>
<br>
<input type="number" class="form-control" step="0.01" name="chargable-price-1" placeholder="Chargable Price" ng-model="chargablePrice[$index]">
<br>
<input type="number" class="form-control" name="chargable-quantity-1" placeholder="Chargable Quantity" ng-model="chargableQuantity[$index]">
<br>
<input type="number" class="form-control" step="0.01" name="chargable-total-1" placeholder="Chargable Total" readonly ng-model="chargableTotal[$index]" >
</div>
</div>
Es funktioniert der Trick jedoch frage ich mich, warum, wenn ich auf dem Text jede Eingabe machen, wird der Cursor einmal ein Zeichen i Eingang verschwunden sein. Wie Sie dieses Verhalten entfernen und was wäre der Faktor, der dieses Verhalten verursacht?
UPDATE:
GELÖST Ich habe ng-model-options = {updateOn: 'Blur'} und es scheint, als ob es das Problem löst
Bitte löschen Sie die Frage, da sie immer unbeantwortet bleibt und die Zeit damit verschwendet wird, wenn sie zu lesen beginnt, um sie zu lösen. Oder schreiben Sie [Gelöst] in den Titel selbst. –