angularjs 过滤一个 table
angularjs filter a table
<tbody>
<tr ng-repeat="y in Summary">
<td>{{y.ID}}</td>
<td>{{y.submitTime}}</td>
<td>{{y.timeTaken}}</td>
<td>{{y.description}}</td>
</tr>
</tbody>
我想在用户选择复选框时过滤值 - 排除非会员。
所以非成员数组有用户的ID。
$scope.Nonmember=["521","234","456", etc]
因此,当用户选中复选框时,我想删除 ID 为 nonmember 的行。过滤器可以用于搜索整个数组吗?..
或者可以用ng-show/hide/if??
过滤器可以做到。
例如:
angular
.module( ... )
.filter( 'excludeNonMembers', function(){
return filterMembers;
} );
function filterMembers( summary, nm, exclude ){
if(!exclude) return summary;
if( !nm || nm.length == 0 ) return summary;
return summary.filter( function( i ){
return nm.indexOf( i.ID ) == -1;
} );
}
在你的html中:
<tr ng-repeat="y in summary | filter:excludeNonMembers:Nonmember:exclude">
$scope.exclude
变量是一个布尔值,您可以在某处切换以应用过滤器。
<tbody>
<tr ng-repeat="y in Summary">
<td>{{y.ID}}</td>
<td>{{y.submitTime}}</td>
<td>{{y.timeTaken}}</td>
<td>{{y.description}}</td>
</tr>
</tbody>
我想在用户选择复选框时过滤值 - 排除非会员。
所以非成员数组有用户的ID。
$scope.Nonmember=["521","234","456", etc]
因此,当用户选中复选框时,我想删除 ID 为 nonmember 的行。过滤器可以用于搜索整个数组吗?.. 或者可以用ng-show/hide/if??
过滤器可以做到。
例如:
angular
.module( ... )
.filter( 'excludeNonMembers', function(){
return filterMembers;
} );
function filterMembers( summary, nm, exclude ){
if(!exclude) return summary;
if( !nm || nm.length == 0 ) return summary;
return summary.filter( function( i ){
return nm.indexOf( i.ID ) == -1;
} );
}
在你的html中:
<tr ng-repeat="y in summary | filter:excludeNonMembers:Nonmember:exclude">
$scope.exclude
变量是一个布尔值,您可以在某处切换以应用过滤器。