简体   繁体   English

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

[英]Same filter for ng-repeat inside another ng-repeat

Same filter for ng-repeat inside another ng-repeat另一个 ng-repeat 中的 ng-repeat 过滤器相同

I make a table where I need to combinate col from different array's.我制作了一个表格,我需要在其中组合来自不同数组的 col。 The first array is the list of same data.第一个数组是相同数据的列表。 The first col is number, when this number is empty, I get another number from second array.第一个列是数字,当这个数字为空时,我从第二个数组中得到另一个数字。 Then a I have search box and for searching I using just this number from the first col.然后我有一个搜索框,为了搜索,我只使用第一个列中的这个数字。 I using ng-model for filter in table, but I can't this filter for both ng-repeat.我在表中使用 ng-model 过滤器,但我不能为 ng-repeat 过滤器。

search box搜索框

<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 html表格

 <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>

angular有角的

$scope.search = '';

The filter work just only tbody ng-repeat or just inside, but I need use this filter for both.过滤器仅适用于 tbody ng-repeat 或仅在内部工作,但我需要对两者都使用此过滤器。

Thanks in advance!提前致谢!

Best regards David最好的问候大卫

You are using common ng-model on both filter.您在两个过滤器上都使用了通用的ng-model

As result ,结果 ,

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

If the tbody is getting hidden because of the filter result, your inner filter has no chance to show the result.如果 tbody 由于过滤结果而被隐藏,则您的内部过滤器没有机会显示结果。

The result inner ng-repeat of which is inner DOM will automatically get removed.So,you can not see it.结果inner ng-repeat是inner DOM 会自动移除。所以,你看不到它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM