欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

angularjs.js下的批量删除代码实现

程序员文章站 2022-05-24 20:13:06
废话不说,老规矩上代码 批量删除 要想批量删除得获取到勾选框对应的id 并且传到controller 里面接收的必定是一个数组,,在后端代码中要想删除 需要先遍历数组在进行删除...

废话不说,老规矩上代码

批量删除 要想批量删除得获取到勾选框对应的id 并且传到controller 里面接收的必定是一个数组,,在后端代码中要想删除 需要先遍历数组在进行删除

例:第一步 想批量删除下面多个数据 在angularjs.js 中 我们可以使用固定写法 获取勾选框的ID ng-click="updateSelection($event,entity.id)"

通过ng-clic 写一个单击事件 里面传$event,entity.id 就可以了

<tbody>
                                 <tr ng-repeat="entity in list">
                                        <td><input type="checkbox"  ng-click="updateSelection($event,entity.id)"></td>
                                        <td>{{entity.id}}</td>
                                        <td>{{entity.name}}</td>
                                        <td>{{entity.firstChar}}</td>
                                        <td class="text-center">
                                               <button type="button" class="btn bg-olive btn-xs"
                                                     data-toggle="modal" ng-click="findOne(entity.id)" data-target="#editModal">修改</button>
                                        </td>
                                 </tr>
                           </tbody>

第二步:

在js页面中 实现上面的单击事件的方法 并传上参数 $event,id(固定写法),接着定义一个数组 (selectIds ) 然后再判断我们在页面中是否勾选了数据,如果勾选了的话讲数据的ID push给刚刚定义的数组 如果取消勾选了则通过 splice 删除取消勾选的ID,

然后把存储了id的数组传到删除方法中

细节:记住由于我们定义的数组时是在 $scope 里面的 所以如果我们想要拿该数组的话一定要通过 $scope来拿 标紫色 ($scope.selectIds )

                      //获取选中的ID
                           $scope.selectIds=[];  //定义一个数组

                           $scope.updateSelection=function($event,id){  //实现获取勾选框ID的方法
                                 if($event.target.checked){ //判断是否勾选了数据
                                        $scope.selectIds.push(id); //勾选了的haul则就把id  push到数组中
                                 }else{
                                        $scope.selectIds.splice($scope.selectIds.indexOf(id), 1);  //如果取消则就删除勾选时存的id,后面的1代表删除几个,固定写法默认为1,因为就算取消勾选也只能一个一个的取消
                                 }
                           };
                           
                           
                           //删除方法
                           $scope.dele=function(){
                                  $http.post("../brand/dele?ids="+$scope.selectIds).success(function(data){
                                        if(data.success){  //判断返回值是否为true  是则刷新页面
                                               $scope.reloadList();
                                        }else{
                                               alter("删除失败");  //失败则提示
                                        }
                                 })
                           }