1
我想在AngularJS中爲表建立一個過濾系統。AngularJS過濾器通過選擇空選項
我有一個系列產品的列表。我希望能夠在select中列出所有系統,並通過所選系統過濾產品。
這個工程很好,除了選擇空選擇選項,它過濾掉所有系統。
這裏是我的示例代碼:
控制器:
function Controller($scope) {
$scope.products = [
{id: 1, system_id: 1, name: 'Product 1'},
{id: 2, system_id: 1, name: 'Product 2'},
{id: 3, system_id: 2, name: 'Product 3'}
];
$scope.systems = [
{id: 1, name: 'System 1'},
{id: 2, name: 'System 2'},
{id: 3, name: 'System 3'}
];
}
和HTML:
<div ng-app ng-controller="Controller">
System: <select ng-model="filter.system_id" ng-options="system.id as system.name for system in systems">
<option value="">All Systems</option>
</select>
<ul>
<li ng-repeat="product in products | filter: filter : true">
{{ product.name }}
</li>
</ul>
</div>
這裏是一個工作示例:
我的最終目標是擁有多個過濾器,其中過濾器是過濾對象,每個屬性綁定到單獨的選擇。
我猜測問題是,空選項是一個空字符串,由於嚴格的選項,導致相等的錯誤,但是有沒有辦法讓它在這個區間中正確行爲?
疑難雜症看,我想我可能會需要往下走定製過濾器的路線。我只是認爲我是如此接近於做這個簡單的方式,我不確定是否存在破解工作。 謝謝! – 2014-11-25 20:50:17