对象内部数组上的角度表过滤器

时间:2017-06-06 19:50:49

标签: javascript angularjs

enter image description here

我是新的角度,我想要做的是在表格行中对象的内部数组应用过滤器,过滤器正在工作,但仅适用于该td,而不适用于整行,为什么会发生这种情况,是这里有什么遗漏?非常感谢任何帮助。

plunker:http://plnkr.co/edit/lXxTS1A3zRCk6mdtw2JP?p=preview

2 个答案:

答案 0 :(得分:1)

使用过滤器功能将第二个过滤器传递到“项目”列表: http://plnkr.co/edit/ydKDEUUWZcI0Qt9fQxhB?p=preview

$scope.applyToTitle = function (title)
  {
    if($scope.support.code.length !== 0)
    {
      for(var i=0; i<$scope.tableObject.length; i++)
      {
        for(var j=0; j<$scope.tableObject[i].details.length; j++)
        {
          if(title.details[j].code == $scope.support.code)
          {
            return title;
          }
        }
      }
    }
    else
    {
      return title;
    }
  }

并在过滤后通过管道来应用此过滤器:搜索:

<tr ng-repeat="item in tableObject | filter:search | filter: applyToTitle">
        <td>{{item.title}}</td>
...

答案 1 :(得分:0)

您应该将过滤器应用于与ng-model相关联的正确字段。 所以而不是:

<tr ng-repeat="item in tableObject | filter:search">

应该是例如:

<tr ng-repeat="item in tableObject | filter:search.title">