微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Angularjs过滤并选中所有复选框

我有一系列我正在展示的项目
<tr ng-repeat="i in items | filter:search_text" ...>

这些项目有一个表示“已选择”的复选框.
当我需要执行诸如调用删除所有选定项目的删除功能之类的操作时,如何知道过滤器显示哪些项目?

已选择(在复选框中选中)然后通过过滤隐藏的项目仍被选中.我需要一种方法来了解此刻屏幕上的哪个项目.

您可以使用$filter来调用控制器中的过滤器.
app.controller('MyCtrl',function($scope,$filter){ 
   var filter = $filter('filter');

   $scope.items = [/* your items here */]

   $scope.selectAllFilteredItems = function (){
      var filtered = filter($scope.items,$scope.search_text);

      angular.forEach(filtered,function(item) {
         item.selected = true;
      });
   };
});

然后,您可以在ng-click或任何其他需要的地方调用selectAllFilteredItems().

原文地址:https://www.jb51.cc/angularjs/142311.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐