• AngularJs 简单实现全选,多选操作


    很多时候我们在处理CURD(增删改查)的时候需要实现批量操作数据,这时候就必须使用多选操作。

    Angular 中实现如下(当然还有很多种比笔者写的更好的方法,这里只是简单的实现。)

    demo 演示地址:http://runjs.cn/detail/2p9bnznk

    代码如下:

    HTML:

     <section>
            <pre>{{choseArr}}</pre>
           全选: <input type="checkbox" ng-model="master" ng-click="all(master,tesarry)">
            <div ng-repeat="z in tesarry">
                <input id={{z}} type="checkbox"  ng-model="x" ng-checked="master" ng-click="chk(z,x)">{{z}}
            </div>
            <a href="#" class="btn btn-danger" ng-click="delete()" > 删除</a>
        </section>
    

    页面效果如下:(CSS采用bootstrap) 

     

    JS代码:

     1 var app = angular.module('app', []);
     2 app.controller('MainCtrl',function($scope,$http,$timeout) {
     3         $scope.tesarry=[1,2,3,4,5];//初始化数据
     4         $scope.choseArr=[];//定义数组用于存放前端显示
     5         var str="";//
     6                 var len= $scope.tesarry.length;//初始化数据長度
     7         var flag='';//是否点击了全选,是为a
     8         $scope.x=false;//默认未选中
     9                 
    10         $scope.all= function (c,v) {//全选
    11             if(c==true){
    12                 $scope.x=true;
    13                 $scope.choseArr = angular.copy(v);
    14                                  flag='a';
    15             }else{
    16                 $scope.x=false;
    17                 $scope.choseArr=[];
    18                                 flag='b';
    19             }
    20 
    21            
    22 
    23         };
    24         $scope.chk= function (z,x) {//单选或者多选
    25                             
    26                     
    27             
    28             if (x == true) {//选中
    29                $scope.choseArr.push(z)
    30                                 flag='c'
    31                                     if($scope.choseArr.length==len){
    32                                         $scope.master=true
    33                                     }
    34             } else {
    35         
    36                         
    37                 $scope.choseArr.splice($scope.choseArr.indexOf(z),1);//取消选中
    38             }
    39 
    40             
    41                         if($scope.choseArr.length==0){
    42                             $scope.master=false
    43                         };
    44                     
    45 
    46         };
    47         $scope.delete= function () {// 操作CURD
    48 
    49             if($scope.choseArr[0]==""||$scope.choseArr.length==0){//没有选择一个的时候提示
    50                 alert("请至少选中一条数据在操作!")
    51                 return;
    52             };
    53 
    54             for(var i=0;i<$scope.choseArr.length;i++){
    55                 alert($scope.choseArr[i]);
    56                             
    57                 console.log($scope.choseArr[i]);//遍历选中的id
    58             }
    59 
    60 
    61 
    62         };//delete end
    63 
    64        
    65 
    66     }
    67 );
    View Code

      以上基本实现全选,反选,多选操作

  • 相关阅读:
    [Asp.net]站点地图SiteMap
    [Asp.Net]最近一个项目的总结
    [Asp.net]说说密码框和只读框
    [工具]推荐一款查看dll依赖工具
    [工具]Serv-U配置教程
    [NHibernate]Nullables
    [NHibernate]NHibernate.Tool.hbm2net
    [NHibernate]使用AttributeNHibernate.Mapping.Attributes
    delphi跨平台SOCKET--System.Net.Socket
    INDY9发送tstream
  • 原文地址:https://www.cnblogs.com/wohenxion/p/4624218.html
Copyright © 2020-2023  润新知