修改ng-repeat中的值

时间:2015-03-14 10:00:26

标签: javascript angularjs

我想在购物车中更改数量值。我在WebSql中插入了购物车intems,在Cart.html中显示了购物车现在我想在ng-click'addQuantity()'之前添加一个商品的数量,但我不知道如何。

Cart.html

<div class="item cart_box" ng-repeat="ct in cartItemList track by ct.id">
                    <div class="cart_name">
                        <p>{{ct.ItemName}}</p>
                        <span class="badge badge-balanced">{{ct.quantity}}</span>
                        <span class="cart_price" >Rs. {{ct.price}}</span>
                        <span class="cart_price">{{ct.variant}}</span>
                    </div>

                    <ul class="cart_icon">
                        <li><i class="ion-ios7-information-outline"></i></li>
                        <li><i ng-click="deleteCart()" class="ion-ios7-close-outline" style="color:red"></i></li>
                        <li><i class="ion-ios7-minus-outline"></i></li>
                        <li><i ng-click="addQuantity()" class="ion-ios7-plus-outline"></i></li>
                    </ul>
</div>

CartController.js

databaseHelper.selectCartItem().done(function(result){
        $scope.cartItemList = result;
        console.log(result);
    });

$scope.deleteCart = function(cart){
    var index = $scope.cartItemList.indexOf(cart);
    $scope.cartItemList.splice(index, 1);
    databaseHelper.deleteCart(cart.itemId);

};

$scope.addQuantity = function(){
    //What to do?
    //$scope.qunatity = ?
}

请帮助

2 个答案:

答案 0 :(得分:0)

将您的HTML更改为

<li><i ng-click="addQuantity(ct)" class="ion-ios7-plus-outline"></i></li>

现在在你的javascript中

$scope.addQuantity = function(ct){
    ct.quantity++;
}

答案 1 :(得分:0)

您可以使用与删除条目相同的方法。

传递索引,使用索引获取目标对象并设置值。

在您的HTML中:

&#13;
&#13;
 <li><i ng-click="addQuantity($index)" class="ion-ios7-plus-outline"></i></li>
&#13;
&#13;
&#13;

在你的JS中:

$scope.addQuantity = function(index ){
    $scope.cartItemList[index].quantity = 100; // Or whatever you want to put up.

}

详细了解$ index here