在另一个ng-repeat中使用相同的ng-repeat过滤器

时间:2016-09-20 18:16:38

标签: javascript angularjs

在另一个ng-repeat中使用相同的ng-repeat过滤器

我创建了一个表格,我需要组合来自不同数组的col。第一个数组是相同数据的列表。第一个col是数字,当这个数字为空时,我从第二个数组得到另一个数字。 然后我有一个搜索框,我只使用第一个col中的这个数字进行搜索。我在表格中使用ng-model进行过滤,但我不能对ng-repeat进行过滤。

搜索框

<div calss="input-lg">
    <input name="value" id="input" type="text" class="input-lg"  
    placeholder="Search in DM-TEC" ng-model="searchDM" ng-virtual-keyboard="
   {size: 9, relative: false}"/>
</div>

html table

 <tbody ng-repeat="roll in vykresy | filter: searchDM">
     <tr  ng-repeat="re in RE | filter: searchDM" ng-if="roll.id === 'RE'">
     <td> {{re.num}}</td>
     <td> {{roll.name}} </td>
     <td rowspan="{{RE.length}}" ng-if="$index===0" style="vertical-align: middle;"> {{roll.numberD}} </td>
     <td rowspan="{{RE.length}}" ng-if="$index===0" style="vertical-align: middle;"> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>                 
     </tr>  


     <tr ng-repeat="rel in REL | filter: searchDM" ng-if=" roll.id === 'REL'">   
     <td> {{rel.numberPN}}  </td>
     <td> {{roll.name}} </td>
     <td rowspan="{{REL.length}}" ng-if="$index===0" style="vertical-align: middle;"> {{roll.numberD}} </td>
     <td rowspan="{{REL.length}}" ng-if="$index===0" style="vertical-align: middle;"> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>                 
     </tr> 

     <tr ng-repeat="re_l in RE_L | filter: searchDM" ng-if=" roll.id === 'RE_L'">   
     <td> {{re_l.numberPN}}  </td>
     <td> {{roll.name}} </td>
     <td rowspan="{{RE_L.length}}" ng-if="$index===0" style="vertical-align: middle;"> {{roll.numberD}} </td>
     <td rowspan="{{RE_L.length}}" ng-if="$index===0" style="vertical-align: middle;"> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>                 
     </tr> 

     <tr ng-if="roll.id === 'PVR'">  
     <td> {{roll.numberPN}}  </td>
     <td> {{roll.name}} </td>
     <td> {{roll.numberD}} </td>
     <td> <a ng-href=" ./pdf/{{roll.numberD}}.pdf">{{roll.numberD}}.pdf</a> </td>
     </tr>

$scope.search = '';

过滤器工作只是重复或仅在内部,但我需要使用此过滤器。

提前致谢!

祝你好运 大卫

1 个答案:

答案 0 :(得分:1)

您在两个过滤器上都使用了常见ng-model

结果,

ng-repeat="roll in vykresy | filter: searchDM"

如果由于过滤结果导致tbody被隐藏, 你的内部过滤器没有机会显示结果。

内部ng-repeat的结果是内部DOM将自动被删除。所以,你看不到它。