我想應用使用複選框的過濾器。如何使用複選框來篩選Angular結果?
複選框被正確顯示:
<div data-ng-repeat="cust in customers">
<input type="checkbox" data-ng-model="search.city" data-ng-true-value="{{ cust.city }}" data-ng-false-value=""/> {{ cust.city }}
</div>
但檢查的任何複選框時,沒有任何反應:
<table>
<!-- table heading goes here -->
<tbody>
<tr data-ng-repeat="customer in customers | filter : search">
<td >
{{ customer.firstName }}
</td>
<td >
{{ customer.lastName }}
</td>
<td >
{{ customer.address }}
</td>
<td >
{{ customer.city }}
</td>
</tr>
</tbody>
</table>
表顯示所有的客戶。
我想實現的是:當選中一個或多個複選框時,表格只顯示與選中複選框的條件相匹配的行。
如何才能正常工作,我該怎麼做?
這幾乎是我想要的。默認情況下顯示所有客戶。當某個城市(或多個城市)的複選框被選中時,將應用該過濾器。 – Martijn 2013-05-12 18:58:18
我已經更新了我的答案。改變是微不足道的:'if(checkedCustomers.length == 0){return customers; }'如果沒有被檢查,基本上會返回所有客戶。希望這一切都對你有意義,並讓我知道你是否需要任何解釋。 – 2013-05-12 21:24:03
這正是我想要的。除了'$ filter('filter')(customers,{checked:true});'你能解釋一下多一點嗎? – Martijn 2013-05-13 09:06:15