angularjs bootstrap 购物车

来源:互联网 发布:js给div的value赋值 编辑:程序博客网 时间:2024/05/15 10:37
<body ng-app="myApp" >
    <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)
    });