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

 

  以上基本實現全選,反選,多選操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM