【发布时间】:2017-07-09 19:36:43
【问题描述】:
我有一个ng-repeat 显示一个产品列表,每个产品都有一个输入。
我希望能够将每个输入的值与每个项目的参数一起推送到一个新数组中以创建订单。
到目前为止,我设法单独完成,但不是一起完成。
这是我的 HTML:
<div ng-repeat="pa in products">
<div>
<h2>{{pa.nom}}</h2>
<input type="number" ng-model="basket" min="0" max="20" step="1" ng-init="basket=0">
</div>
</div>
<a ng-click="insert(pa.nom,basket)">Add items</a>
以及功能:
$scope.singleorder = [];
$scope.insert = function(nom, basket){
$scope.singleorder.push({
'product': nom,
'number': basket
});
console.log($scope.singleorder);
}
我认为问题与跟踪每次重复时输入的不同模型有关,但我不知道如何处理。
我还尝试在输入上使用ng-change 单独添加每个项目,但它会在每次更改时推送一个对象,在每次更改时复制项目,所以它不起作用。
有什么建议吗?
【问题讨论】:
-
你的
add items按钮在ng-repeat里面吗? -
@PrasanthBendra 不,不是。
-
那你如何决定要推送到数组中的项目?
-
@PrasanthBendra 这就是我认为的问题。我想将它们全部推送,每个项目一个对象,包含名称(nom)和数量(basket)。
标签: javascript angularjs arrays angularjs-ng-repeat