当前位置: 移动技术网 > IT编程>开发语言>JavaScript > angularjs.js下的批量删除代码实现

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

2018年03月29日  | 移动技术网IT编程  | 我要评论
废话不说,老规矩上代码 批量删除 要想批量删除得获取到勾选框对应的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("删除失败");  //失败则提示
                                        }
                                 })
                           }

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网