angular汇总



<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0,
minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
  <title></title>
  <script type="text/javascript" src="js/angular.min.js" ></script>
  <script type="text/javascript" src="js/jquery-3.2.1.min.js" ></script>
    <script type="text/javascript">
        var app = angular.module("myApp",[]);
  app.controller("myCtrl",function($scope){
   $scope.goods = [
      {"id":"201","name":"MacPro","price":10000,"brand":"蒙牛","sl":5,"xj":50000},
      {"id":"202","name":"iPhoneX","price":8000,"brand":"老北京","sl":5,"xj":40000},
      {"id":"203","name":"小米7","price":4999,"brand":"麒麟","sl":5,"xj":24995},
      {"id":"204","name":"华为P10","price":2999,"brand":"百事","sl":5,"xj":14995}];
      
    
     
   /*   var app = angular.module("myApp",[]);
   app.controller("myCtrl",function($scope,$http){//注入$http对象
    $scope.jsonStr;
    //请求本地的json文件
    $http({
     method:"get",
     url:"haha.json"
    }).then(function success(response){
     $scope.jsonStr = response.data;
    },function error(response){
     $scope.jsonStr = "失败";
    });
    //请求互联网数据
    $scope.jsonFromNet;
    
    $http({
     method:"get",
     url:"http://gank.io/api/data/Android/10/1"
    }).then(function success(response){
     $scope.jsonFromNet = response.data;
     
    },function error(response){
     
    });
   });
     */
  
      
     //过滤条件
    $scope.searchKey; 
     //排序条件
   
     $scope.mycolor1='td2';
    $scope.orderByKey;
    $scope.orderData1 = function(_this){
   
     $scope.mycolor1='td1';
     //把其他所有的td的背景改为白色
     $scope.mycolor0="td2";
    
     //判断排序字段
     if($scope.orderByKey!="price" && $scope.orderByKey!="-price"){
      $scope.orderByKey = "price";
      
     }else{
      debugger;
      if($scope.orderByKey=="price"){
       $scope.orderByKey = "-price";
      }else{
       $scope.orderByKey = "price";
      }
     }
     
    }
    
    $scope.mycolor0='td2';
    $scope.orderData0 = function(_this){
     $scope.mycolor0='td1';
     //把上一个td的背景改为白色
     $scope.mycolor1="td2";
     
      //判断排序字段
     if($scope.orderByKey!="name" && $scope.orderByKey!="-name"){
      $scope.orderByKey = "name";
      
     }else{
      debugger;
      if($scope.orderByKey=="name"){
       $scope.orderByKey = "-name";
      }else{
       $scope.orderByKey = "name";
      }
     }
     
    }
    
    
    //通过id删除,没有任何bug
   /* $scope.deletGoodsById = function(_id){
     //得到_id在数据源中的索引号
     //循环遍历得到每一个商品,用它的id和_id比较
     for(var i=0;i<$scope.goods.length;i++){
      var g = $scope.goods[i];//得到一个商品
      if(g.id == _id){//此g就是要删除的,,删除之
       $scope.goods.splice(i,1);
       break;
      }
     }
    };*/
    $scope.deletGoodsById=function(_id){
     if(confirm("您确认删除吗?")){
      for (g in $scope.goods) {
       if($scope.goods[g].id==_id){
        $scope.goods.splice(g,1)
       }
      }
      
     }
     
    };
     //全选的属性
    $scope.checkall = false;
    //添加功能区域
    $scope.addIsShow = false;
    $scope.newname;
    $scope.newprice;
    $scope.newbrand;
    $scope.newsl;
    
    $scope.addNewGood = function(){
     var n = Math.round(Math.random()*100);//随机数作为id
     //创建新商品对象,属性赋值
     var a = {};
     a.id = n;
     a.name = $scope.newname;
     a.price = $scope.newprice;
     a.brand = $scope.newbrand;
     a.sl= $scope.newsl;
     a.xj=$scope.newsl*$scope.newprice;
     //添加到数组
     $scope.goods.push(a);
     $scope.addIsShow = false;//设置隐藏
    }
    
    
    //修改
    $scope.updateGood;
    $scope.updateIsShow = false;//修改区域默认不显示
    $scope.updatename;
    $scope.updateprice;
    $scope.updatebrand;
       $scope.updatesl;
    $scope.showGoodById = function(_id){
     
     $scope.updateIsShow = true;//显示修改区域
     //回显修改商品的信息,,先通过遍历数据源,找到要修改的商品对象
     for(var i=0;i<$scope.goods.length;i++){
      if($scope.goods[i].id==_id){//找到了要修改的商品信息
       $scope.updateGood = $scope.goods[i];//收集修改对象
       break;
      }
     }
     //找到要修改的对象后,显示在页面中,数据绑定
     $scope.updatename=$scope.updateGood.name;
     $scope.updateprice=$scope.updateGood.price;
     $scope.updatebrand=$scope.updateGood.brand;
     $scope.updatesl= $scope.updateGood.sl
    }
    //提交修改信息到数据源
    $scope.updateGoodF = function(){
     $scope.updateIsShow = false;//隐藏修改区域
     $scope.updateGood.name = $scope.updatename;
     $scope.updateGood.price = $scope.updateprice;
     $scope.updateGood.brand = $scope.updatebrand;
     $scope.updateGood.sl= $scope.updatesl;
    }
    /*//批量删除
    $scope.deleteMore = function(){
     //获取所有选择的checkbox
     var cks = $("input[type=checkbox]:checked");
     for(var i=0;i<cks.length;i++){
      var ck = cks[i];
         var _id = ck.value;//得到要删除的商品的id
      for(var j=0;j<$scope.goods.length;j++){//到数据源中找到和当前id匹配的商品,删除之
       if($scope.goods[j].id == _id){
        $scope.goods.splice(j,1);
        break;
       }
      }
     }
    }*/
    $scope.deleteMore=function(){
      var arr = $(":checkbox:checked")
      if(arr.length>0){
         if(confirm("您确定要删除吗?")){
        arr.each(function(){
         var _id = $(this).prop("title");
         for (g in $scope.goods) {
          if($scope.goods[g].id==_id){
            $scope.goods.splice(g,1)
          }
         }
        })
       }
      }else{
       alert("请您勾选数据!")
      }
     }
    
    $scope.counts=function(){
     var a=0;
     for (var i=0;i<$scope.goods.length;i++) {
      a+=$scope.goods[i].sl*1;
     }
     return a;
    }
    $scope.prices=function(){
     var a=0;
     for (var i=0;i<$scope.goods.length;i++) {
      a+=$scope.goods[i].sl*$scope.goods[i].price;
     }
    
     return a;
    }
  })
     
    </script>

   <style type="text/css">
   table{
    text-align: center;
   }
   .red{
    background-color:beige;
   }
   .green{
    background-color: greenyellow;
   }
  </style>
  <style type="text/css">
   .td1{
    background-color: yellow;
   }
   .td2{
    background-color: null;
   }
  </style>
 </head>
 <body  ng-app="myApp" ng-controller="myCtrl">
 
   查询:<input type="text" ng-model="searchKey" />&nbsp;&nbsp;
   排序条件:<select ng-model="orderByKey">
    <option value="">--请选择--</option>
    <option value="name">--按名字正序--</option>
    <option value="-name">--按名字倒序--</option>
    <option value="price">--按价钱正序--</option>
    <option value="-price">--按价钱倒序--</option>
    <option value="id">--按id正序--</option>
    <option value="-id">--按id倒序--</option>
   </select>
   <br /><br />
  <div ng-show="addIsShow">
    名字:<input type="text" ng-model="newname" /><br />
    价钱:<input type="text" ng-model="newprice" /><br />
    产地:<input type="text" ng-model="newbrand" /><br />
    数量:<input type="text" ng-model="newsl" /><br />
     <input type="button" value="添加" ng-click="addNewGood();" /><br />
   </div>
      <input type="button" value="入库" ng-click="addIsShow=true"/>

   <input style="text-align: right;" type="button" value="批量删除" ng-click="deleteMore();"/>
      商品总数:{{counts()}}&nbsp;&nbsp;&nbsp;&nbsp;商品总价:{{prices()}}

  
   <table width="400px" border="1px" bordercolor="red" cellpadding="1px" cellspacing="1px" >
    <tr style="background-color: grey;">
     <td><input type="checkbox" ng-model="checkall"/></td>
     <td>序号</td>
     <td>id</td>
     <td ng-class="mycolor0" ng-click="orderData0(this);">商品名称</td>
      <td ng-class="mycolor1" ng-click="orderData1(this);">商品价格</td>
     <td>品牌</td>
     <td>数量</td>
        <td>小计</td>
     <td>操作</td>
     
    </tr>
    <tr ng-repeat="g in goods   | filter:searchKey | orderBy:orderByKey" class="{{$index%2==0?'red':'green'}}">
     <td><input type="checkbox" value="{{g.id}}" ng-model="checkall"  title="{{g.id}}" /></td>
     <td>{{$index+1}}</td>
     <td>{{g.id}}</td>
     <td>{{g.name}}</td>
     <td>{{g.price}}</td>
     <td>{{g.brand}}</td>
      <td>{{g.sl}}</td>
      <td>{{g.xj}}</td>
     <td>
       <input type="button" value="删除" ng-click="deletGoodsById(g.id);"/>
      <input type="button" value="修改" ng-click="showGoodById(g.id);"/>
     </td>
    </tr>
   </table>
   <div ng-show="updateIsShow">
    名字:<input type="text" ng-model="updatename" /><br />
    价钱:<input type="text" ng-model="updateprice" /><br />
    产地:<input type="text" ng-model="updatebrand" /><br />
        数量:<input type="text" ng-model="updatesl" /><br />

    <input type="button" value="提交修改" ng-click="updateGoodF();" /><br />
   </div>
   
 
 </body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值