我有以下数组:
$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 个数组,但每个对象的值未定义。
我错过了什么?
最佳答案
您已正确设置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,
});
关于javascript - 使用 AngularJS 将多个输入的值从 ng-repeat 推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42461305/