2016-05-04 4 views
3

Ich habe folgendes Array in meinem Winkel js Controller -Eingeben von Daten in einem Eingabefeld mit ng-Optionen in Winkeln JS

$scope.Data = [ 

    {Day: 'Monday', Start: '10.00', Finish: '15.30'}, 
    {Day: 'Tuesday', Start: '10.00', Finish: '16.30'}, 
    {Day: 'Tuesday', Start: '10.00', Finish: '12.30'}, 

    ] 
$scope.overTime = 0; 

Aus meiner Sicht, ich bin durch dieses Array wie folgt Looping:

<div ng-repeat="a in Data track by $index"> 
    <strong> {{a.Day}} 
    <input ng-model="a.Start"/> 
    <input ng-model="a.Finish/> 
    <span> Add over Time </span> 
    <input type=""text" placeholder="Add overtime" ng-model="addovertime"\> 

    </div> 

Alles funktioniert wie erwartet gut, aber die einzige im Problem besteht darin, die Überstunden Eingabefelder hinzufügen. Wie Sie in meinem Code sehen können, ein Benutzer einige Überstunden auf beiden Tagen hinzufügen kann das Problem ist, dass zum Beispiel, wenn ich brauche Überstunden für Montag an, alles, was ich in der Montag Überstunden Eingabe eingeben eingereicht erscheint auch in der Verlängerung für Dienstag und Mittwoch und umgekehrt. Das liegt daran, dass ich die Daten über die Überstunden verbinde? vielleicht bin ich mir nicht wirklich sicher, aber wie würde ich so etwas erreichen? Danke

Antwort

3

Das ist, weil Sie die Überstunden in einem Umfang Variablen speichern, und nicht pro Datenpunkt. Zum Speichern von Überstunden individuell für jeden Artikel, do:

<input type="text" placeholder="Add overtime" ng-model="a.overtime"> 
+0

oh ich sehe! Danke ! – 1future

1

gehen durch diese, erstellen Sie separate Umfang jeder Überstunden

var jimApp = angular.module("mainApp", []); 
 

 
jimApp.controller('mainCtrl', function($scope){ 
 
     $scope.Data = [ 
 

 
    {Day: 'Monday', Start: '10.00', Finish: '15.30'}, 
 
    {Day: 'Tuesday', Start: '10.00', Finish: '16.30'}, 
 
    {Day: 'Tuesday', Start: '10.00', Finish: '12.30'}, 
 

 
    ]; 
 
    $scope.overTime = 0; 
 
}); 
 

 

 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="mainApp" ng-controller="mainCtrl"> 
 
    <div ng-repeat="a in Data track by $index"> 
 
    <strong> {{a.Day}}</strong> 
 
    <input ng-model="a.Start"/> 
 
    <input ng-model="a.Finish"/> 
 
    <span> Add over Time </span> 
 
    <input type="text" placeholder="Add overtime" ng-model="a.addovertime" > 
 

 
    </div> 
 
</div>

+0

Danke .. Dieser ist auch richtig – 1future

Verwandte Themen