购物车(angularJS)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>max</title>
    <style>
        .tab tbody tr:nth-child(odd){background-color: #ffacbd}
        .tab tbody tr:nth-child(even){background-color: #f00}
    </style>
    <script src="../angular.js"></script>
    <script>
        var app = angular.module("myApp",[]);
        app.controller("myCtrl",function ($scope) {
 /*-----------------定义数据源----------------------------------------------------------------*/
            $scope.data = [{
                "id": 80,
                "name": "iPhone",
                "price": 5400,
                state: false
            }, {
                "id": 1200,
                "name": "ipad mini",
                "price": 2200,
                state: false
            }, {
                "id": 500,
                "name": "ipad air",
                "price": 2340,
                state: false
            }, {
                "id": 290,
                "name": "ipad",
                "price": 1420,
                state: false
            }, {
                "id": 910,
                "name": "imac",
                "price": 15400,
                state: false
            }];
/*-----------------下拉菜单排序----------------------------------------------------------------*/
            $scope.PXfs="id";
/*-----------------下拉菜单筛选----------------------------------------------------------------*/
            $scope.SXqj="--请选择--";
            $scope.isShow=function (data) {
                if ($scope.SXqj=="--请选择--"){
                    return true;
                }else {
                    var arr = $scope.SXqj.split("-");
                    var mini = arr[0];
                    var max = arr[1];
                    if (data<mini || data>max){
                        return false;
                    }else {
                        return true;
                    }
                }
            }
/*------------------ 全选 && 全不选  -----------------------------------------------------------*/
            $scope.all = false;
            $scope.ALL = function () {
                if ($scope.all){
                    for (d in $scope.data){
                        $scope.data[d].state=true;
                    }
                }else {
                    for (d in $scope.data){
                        $scope.data[d].state=false;
                    }
                }
            }
/*---------------- 反选 -----------------------------------------------------------------------*/
            $scope.FX=function () {
                var a=0;
                for (d in $scope.data){
                    if($scope.data[d].state==false){
                        a++;
                    }
                }
                if(a==0){
                    $scope.all = true;
                }else {
                    $scope.all = false;
                }
            }
/*-------------------单项删除------------------------------------------------------------------*/
            $scope.DXsc=function (data) {
                if(confirm("删除操作将不可逆!是否确定删除?")){
                    for (d in $scope.data){
                        if($scope.data[d].name==data){
                            $scope.data.splice(d,1);
                        }
                    }
                }
            }
/*---------------- 批量删除 -------------------------------------------------------------------*/
            $scope.PLsc=function () {
                var arr=[];
                for (d in $scope.data){
                    if($scope.data[d].state==true){
                        arr.push($scope.data[d].name);
                    }
                }
                if (arr.length==0){
                    alert("请选中数据!");
                }else {
                    if(confirm("删除操作将不可逆!是否确定删除?")) {
                        for (a in arr) {
                            for (d in $scope.data) {
                                if ($scope.data[d].name == arr[a]) {
                                    $scope.data.splice(d, 1);
                                }
                            }
                        }
                    }
                }
            }
/*---------------- 修改-------------------------------------------------------------------------*/
            $scope.XGbh="";
            $scope.XGmc="";
            $scope.XGjg="";
            $scope.XGmc1="";
            $scope.XGjg1="";
            $scope.flag=false;
            $scope.XG=function (data) {
                if($scope.flag==true){
                    $scope.flag=false;
                }else {
                    $scope.flag=true;
                }
                for (d in $scope.data){
                    if($scope.data[d].id==data){
                        $scope.XGbh=$scope.data[d].id;
                        $scope.XGmc=$scope.data[d].name;
                        $scope.XGjg=$scope.data[d].price;
                    }
                }
                $scope.Tj=function () {
                    if (isNaN($scope.XGjg1)){
                        alert("产品价格输入类型有误!");
                        $scope.flag=true;
                    }else if($scope.XGmc1=="" || $scope.XGmc1==null ||$scope.XGjg1=="" || $scope.XGjg1==null){
                        alert("修改内容不能为空!");
                        $scope.flag=true;
                    } else {
                        for (d in $scope.data){
                            if($scope.data[d].id==$scope.XGbh){
                                $scope.data[d].name=$scope.XGmc1;
                                $scope.data[d].price=parseInt($scope.XGjg1);
                            }
                        }
                        $scope.XGmc1="";
                        $scope.XGjg1="";
                        $scope.flag=false;
                    }
                }
            }
/*---------------- 添加-------------------------------------------------------------------------*/
            $scope.flag1=false;
            $scope.flag2=true;
            $scope.TJbh="";
            $scope.TJmc="";
            $scope.TJjg="";
            $scope.add=function () {
                if($scope.flag1==true){
                    $scope.flag1=false;
                }else {
                    $scope.flag1=true;
                }
                $scope.TJ=function () {
                    $scope.flag2=true;
                    if($scope.TJbh==""||$scope.TJbh==null||$scope.TJmc==""||$scope.TJmc==null||$scope.TJjg==null||$scope.TJjg==""){
                        alert("输入内容不能为空!");
                        $scope.flag2=false;
                    }else {
                        for (d in $scope.data){
                            if($scope.data[d].id==$scope.TJbh){
                                alert("产品编号已存在!");
                                $scope.flag2=false;
                            }else if($scope.data[d].name==$scope.TJmc) {
                                alert("产品名称已存在!");
                                $scope.flag2=false;
                            }
                        }
                    }
                    if ($scope.flag2==true){
                        $scope.add={
                            id:parseInt($scope.TJbh),
                            name:$scope.TJmc,
                            price:parseInt($scope.TJjg),
                            state: false
                        };
                        $scope.data.push($scope.add);
                        $scope.TJbh="";
                        $scope.TJmc="";
                        $scope.TJjg="";
                        var a=0;
                        for (d in $scope.data){
                            if($scope.data[d].state==false){
                                a++;
                            }
                        }
                        if(a==0){
                            $scope.all = true;
                        }else {
                            $scope.all = false;
                        }
                    }
                }
            }
        });
    </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
<center>
    <h3>购物车</h3>
    <p>
        <input type="text" placeholder="产品名称" ng-model="CPname">
        产品价格:
        <select ng-model="SXqj">
            <option>--请选择--</option>
            <option>0-2000</option>
            <option>2001-3000</option>
            <option>3001-4000</option>
            <option>4001-5000</option>
            <option>5001-6000</option>
            <option>6001-7000</option>
            <option>7001-8000</option>
            <option>8001-无穷大</option>
        </select>
        <select ng-model="PXfs">
            <option value="id">排序方式</option>
            <option value="id">id正序</option>
            <option value="-id">id逆序</option>
            <option value="price">价格正序</option>
            <option value="-price">价格逆序</option>
        </select>
        <button ng-click="PLsc()">批量删除</button>
    </p>
    <table border="1" cellpadding="10" cellspacing="0" style="margin-bottom: 20px;" class="tab">
         <thead>
            <tr style="background-color: #969fff">
                <th><input type="checkbox" ng-model="all" ng-click="ALL()"></th>
                <th>产品编号</th>
                <th>产品名称</th>
                <th>产品价格</th>
                <th>操作</th>
            </tr>
         </thead>
        <tbody>
            <tr ng-repeat="d in data | filter:{'name':CPname} | orderBy:PXfs" ng-if="isShow(d.price)">
                <th><input type="checkbox" ng-model="d.state" ng-click="FX()"></th>
                <td>{{d.id}}</td>
                <td>{{d.name}}</td>
                <td>{{d.price | currency:("¥:")}}</td>
                <td><button ng-click="DXsc(d.name)">删除</button>&nbsp;<button ng-click="XG(d.id)">修改</button></td>
            </tr>
        </tbody>
    </table>
    <button ng-click="add()">添加新产品</button>
    <div style="margin-top: 20px; width: 300px; border: 1px solid #f00" ng-show="flag">
        <h3>修改商品界面</h3>
        <span>商品编号:</span><input type="text" placeholder={{XGbh}} disabled="disabled" ng-model="XGbh"><br><br>
        <span>商品名称:</span><input type="text" placeholder={{XGmc}} ng-model="XGmc1"><br><br>
        <span>商品价格:</span><input type="text" placeholder={{XGjg}} ng-model="XGjg1"><br><br>
        <button style="margin-bottom: 20px" ng-click="Tj()">提交</button>
    </div>
    <div style="margin-top: 20px; width: 300px; border: 1px solid #f00" ng-show="flag1">
        <h3>添加商品界面</h3>
        <span>商品编号:</span><input type="text" ng-model="TJbh"><br><br>
        <span>商品名称:</span><input type="text" ng-model="TJmc"><br><br>
        <span>商品价格:</span><input type="text" ng-model="TJjg"><br><br>
        <button style="margin-bottom: 20px" ng-click="TJ()">提交</button>
    </div>
</center>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值