我有一个如下所示的数组:
$scope.orders = [
{
id: 1,
costumer_id: 1,
product_id: 1,
quantity: 2,
costumer:
{
id: 1,
name: John Doe,
age: 47,
state: Georgia,
province: Atlanta
}
},
];
我想要做的是创建 3 个输入来按客户姓名、客户所在州或客户所在省份进行过滤。这就是我正在做的事情:
<tr ng-repeat="order in orders | filter:search">
<td class="text-muted">{{ order.id }}</td>
<td>{{ order.costumer.name }}</td>
<td>{{ order.costumer.state }}</td>
<td>{{ order.costumer.province }}</td>
<td>
{{ order.product_id }}
<span class="label label-info">{{ order.quantity }} unidades</span>
</td>
</tr>
以及要过滤的输入:
<input class="form-control input-sm" type="text" ng-model="search.$" placeholder="search for everything">
<input class="form-control input-sm" type="text" ng-model="search.costumer.name" placeholder="filter by name">
<input class="form-control input-sm" type="text" ng-model="search.costumer.state" placeholder="filter by state">
<input class="form-control input-sm" type="text" ng-model="search.costumer.province" placeholder="filter by province">
只有第一个输入过滤器有效,其他过滤器无效!我该如何进行这种过滤?!
谢谢!
最佳答案
如果您在 IE 中进行测试,我认为这可能是因为 $scope.orders
在数组末尾有一个尾随逗号。
我为此创建了一个 Plunkr:http://plnkr.co/edit/P1LVvgjsRUYu9Z8cHGpR?p=preview
关于javascript - Angular 过滤器二级对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21733999/