假设我有一个select用作ngtable的过滤器的一部分:
<select ng-model="search.id" id="">
<option value=0>All</option>
<option value=111>111</option>
<option value=112>112</option>
</select>
表格和过滤器在html中显示如下:
<table ng-table="tableParams" class="table">
<tr ng-repeat="account in $data | filter:search.accountName">
<td data-title="'id'">
{{account.account.accountId.id}}
</td>
<td data-title="'name'">
{{account.account.accountName}}
</td>
</tr>
</table>
这是过滤器:
$scope.idFilter = function(account) {
return (account.accountId.id == search.id);
}
这是json数据:
var data = [{
"account": {
"accountId": {
"id": "111"
},
"accountName": "Jack the Beanstalker"
}
},
{
"account": {
"accountId": {
"id": "112"
},
"accountName": "Mick the Stalkbeaner"
}
}
];
答案 0 :(得分:2)
如果您尝试根据下拉列表进行过滤,您可以像这样实现(虽然我不确定我理解正确吗?):
只需将其添加为另一个过滤器:
| filter:search.id
并在选择选项中添加''作为第一行的值
<option value=''>All</option>
<option value=111>111</option>
<option value=112>112</option>
http://plnkr.co/edit/6S2Yh5zUhc6CEFfc3nvB?p=preview
这对你有用吗?