<div class="container" ng-controller="myController">
<table class="table table-striped table-bordered table-hover table-condensed table-striped">
<tr>
<td>商品id</td>
<td>商品名称</td>
<td>商品价格</td>
<td>商品数量</td>
<td>小计</td>
<td>操作</td>
</tr>
<tr ng-repeat="x in cart">
<td>{{x.id}}</td>
<td>{{x.pro.name}}</td>
<td>{{x.pro.price}}</td>
<td>
<button ng-click="jian($index)">-</button>
<input value="{{x.count}}" style="width: 30">
<button ng-click="add($index)">+</button>
</td>
<td>{{x.pro.price*x.count}}</td>
<td><button>删除</button></td>
</tr>
<tr>
<td colspan="5">
总计:{{zongji()}}
</td>
</tr>
</table>
</div>
</body>
var app = angular.module('myApp', []);
app.controller('myController', function($scope, $http) {
$http.post('shopping/select')
.success(function(selectall){
$scope.cart=selectall;
})
$scope.zongji=function(){
var zong=0;
angular.forEach($scope.cart,function(obj,key){
zong+=obj.pro.price*obj.count;
})
return zong;
}
$scope.jian=function(index){
--$scope.cart[index].count;
$http.post("shopping/update?count="+$scope.cart[index].count+"&id="+$scope.cart[index].id)
}
$scope.add=function(index){
++$scope.cart[index].count;
$http.post("shopping/update?count="+$scope.cart[index].count+"&id="+$scope.cart[index].id)
}
$scope.$watch('cart',function(newValue, oldValue){
angular.forEach(newValue, function(item, key) {
if(item.count < 1) {
var returnKey = confirm("是否从购物车内删除该产品");
if(returnKey) {
$scope.cart.splice(key,1);
}else{
item.count = oldValue[key].count;
}
return ;
}
});
},true)
});