【问题标题】:Multiple filter in ng-repeatng-repeat 中的多个过滤器
【发布时间】:2017-03-28 21:02:54
【问题描述】:

我需要帮助来过滤 ng-repeat 中的数据。我试图做一些事情,但我找不到适合我的解决方案。我需要这样做:

sensor in sensors | filter: { group: group.id, (name: search || description: search) }

搜索是ng-model(文本输入),group.id 是在ng-repeat 中生成的组的 ID(我有两个嵌套的 ng-repeat)。我试着做我的过滤器:

$scope.search = '';
    $scope.searchFilter = function() {
        return function (p) {
            if ($scope.search!='') {
                for (var i in p) {
                    console.log("p.name: "+p.name+", search: "+$scope.search);
                    if (p.name == $scope.search || p.description == $scope.search) {
                        return p;
                    }
                }
            } else {
                return p;
            }

        }
    }

几乎可以工作。它过滤我的数据,但前提是我写了正确的名字。例如我想找到“引擎”。如果我开始写“en”,则没有数据,但如果我写“engine”,它将显示正确的数据。所以我也需要努力。我希望你明白我想要做什么。

【问题讨论】:

    标签: angularjs-ng-repeat angular-filters


    【解决方案1】:

    我找到了解决办法!

    sensor in sensors  filter: { group: group.id } | filter: searchFilter()
    

    还有这个:

    $scope.search = '';
    $scope.searchFilter = function() {
        return function (p) {
            if ($scope.search!='') {
                for (var i in p) {
                    var re = new RegExp($scope.search, 'i'); // This I've add
                    if (p.name.match(re) || p.description.match(re) ) { // This I've change
                        return true;
                    }
                }
            } else {
                return true;
            }
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多