Angular 模拟简单购物车

<!DOCTYPE html>
<html ng-app="App">

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="../libs/angular.min.js"></script>
        <style>
            a {
                color: red;
                text-decoration: none;
                margin-left: 170px;
            }
        </style>
        <script>
            var App = angular.module("App", []);
            App.controller("Demo", function($scope) {

                $scope.datas = [{

                    state: false,
                    pic: "ab.jpg",
                    goodsname: "纯手工制作木质时钟精致家具装饰摆件",
                    nums: 1,
                    price: 150

                }, {
                    state: false,
                    pic: "ae.jpg",//图片
                    goodsname: "木质蓝牙音箱包邮实木家具装饰摆件",
                    nums: 2,
                    price: 119
                }, {
                    state: false,
                    pic: "an.jpg",
                    goodsname: "装饰木雕,独特趣味设计家具装饰摆件",
                    nums: 0,
                    price: 120
                }]

                //数量减减
                $scope.jian = function(index) {
                        if($scope.datas[index].nums < 1) {
                            alert("数量不能为负数!");
                        } else {
                            $scope.datas[index].nums--;

                        }

                    }
                    //数量加加
                $scope.jia = function(index) {
                    $scope.datas[index].nums++;
                }

                //删除数据
                $scope.del = function(index) {
                        if(confirm("确认要删除么?")) {
                            $scope.datas.splice(index, 1);

                        }

                    }
                    //全选或全不选
                $scope.checkedAllFun = function() {

                    if($scope.checkedAll) {
                        for(var x = 0; x < $scope.datas.length; x++) {
                            $scope.datas[x].state = true;

                        }

                    } else {
                        for(var x = 0; x < $scope.datas.length; x++) {
                            $scope.datas[x].state = false;

                        }
                    }
                }

               //计算总价
                $scope.totalprice = function() {
                    $scope.to_price = 0;
                    for(var i = 0; i < $scope.datas.length; i++) {
                        $scope.to_price += $scope.datas[i].nums * $scope.datas[i].price;
                    }

                }
                $scope.to_price = 0;
            })
        </script>

    </head>

    <body ng-controller="Demo">
        <center>
            <h1>购物车</h1>
            <table>
                <tr ng-repeat="x in datas">
                    <td><input type="checkbox" ng-model="x.state" /></td>
                    <td><img ng-src="{{x.pic}}" /></td>
                    <td><span>{{x.goodsname}}</span><br /><br />
                        <span>{{x.price}}</span> <br /><br />
                        <button ng-click="jian($index)">-</button> {{x.nums}}
                        <button ng-click="jia($index)">+</button>
                        <a href="#" ng-click="del($index)">删除</a>
                    </td>
                </tr>
                <tr>
                    <td><input type="checkbox" ng-click="checkedAllFun()" ng-model="checkedAll" />全选 </td>
                    <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 合计:{{to_price}} </td>
                    <td><button ng-click="totalprice()">结算</button></td>
                </tr>
            </table>

        </center>
    </body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值