2017-06-06 246 views

回答

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> 
... 
+0

谢谢,是否有一定的限制,我们可以应用ng-repeat过滤器?我从来不知道... – Praveen

+0

我不这么认为,只是继续使用管道,并添加更多。虽然前一个过滤器的结果将用作下一个过滤器的输入 - 类似于unix管道。 – AKMorris

+0

好吧,最后一件事如果我想在subApp上应用筛选器而不是代码?,我已经尝试将代码替换为app.js中的subApp,不起作用,为什么? – Praveen

0

你应该过滤器适用于那些相关联的NG-模型正确的字段。因此,而不是 :

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

应该例如:

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

谢谢你的时间,即使我提到标题或没有,但工作完全正常,但问题是当我在其他秒中键入字母N输入时,该表格列出了具有字母N的记录以及第一个字段中带有Y的记录。请参阅上面的图片,我想要删除字母Y的记录。 – Praveen

+0

,你想只是精确匹配? – quirimmo

+0

是的,表格应该只显示那些基于用户输入的记录(可能是Y或N或其他) – Praveen