2017-02-25 80 views
0

我有以下的數組:從NG-重複推從多個輸入值到陣列AngularJS

$scope.variations = [ 
    {'nom':'', 
    'preu':0, 
    'grams':'' 
    }, 
    {'nom':'', 
    'preu':0, 
    'grams':'' 
    }, 
    {'nom':'', 
    'preu':0, 
    'grams':'' 
    } 
]; 

我在前端顯示它像這樣:

<div ng-repeat="vari in variations"> 
    <input type="text" class="inputmodal" ng-model="varinom"> 
    <input type="text" class="inputmodal" ng-model="varipreu"> 
    <input type="text" class="inputmodal" ng-model="varigrams"> 
</div> 

一旦予填充3個輸入的所有3個項目的陣列,我試圖推動他們每個人進入另一個陣列,如下所示:

<a ng-click="test()">TEST</a> 

而JS:

$scope.test = function(){ 
    $scope.singleorder = []; 
    for(var i = 0; i < $scope.variations.length; i++) 
    $scope.singleorder.push({ 
     'nom': $scope.variations[i].varinom, 
     'grams': $scope.variations[i].varigrams, 
     'preu': $scope.variations[i].varipreu, 
    }); 

    console.log($scope.singleorder); 
};  

在我的控制檯的結果中,我在控制檯中有3個數組,但每個對象的值都是未定義的。

我錯過了什麼?

+2

它應該是'NG-模型= 「vari.nom」''不NG-模型= 「varinom」' – Satpal

+0

把它作爲一個答案我給你投票! –

回答

1

您已正確設置ngModel。使用引用變量vari

<div ng-repeat="vari in variations"> 
    <input type="text" class="inputmodal" ng-model="vari.nom"> 
    <input type="text" class="inputmodal" ng-model="vari.preu"> 
    <input type="text" class="inputmodal" ng-model="vari.grams"> 
</div> 

,並使用

$scope.singleorder.push({ 
    'nom': $scope.variations[i].nom, 
    'grams': $scope.variations[i].grams, 
    'preu': $scope.variations[i].preu, 
});