2015-05-22 111 views
0

我有一個顯示一堆項目的頁面,我有一個帶有一些選項的邊欄和一個用於過濾出現的項目的搜索字段。 它工作正常,但現在我必須做一個搜索結果頁面。如何在AngularJS中預過濾搜索

的客戶端獲取到搜索結果頁面的查詢字符串s =東西 我做這讓搜索查詢:

$scope.searchTerm = $location.search().s; 

所以我想,如果我設置了搜索欄(即過濾器結果)價值{{searchTerm}}會做的伎倆,但我錯了。

搜索字段顯示在其上的查詢字符串,但它不過濾。

想象一下,我有一個產品叫產品x和我的搜索查詢是維納斯。所有產品仍在展示。有任何想法嗎?

+0

實際上你需要在收集器的過濾器... – tyler

+0

有正常工作的過濾器。如果我刪除字段中的內容並開始輸入,它將會過濾。 –

+0

如果你的過濾器使用'| |'來設置,你可能會在你的問題中包含代碼 – tyler

回答

2

如果您有類似這樣的輸入:

<input type="text" ng-model="dataFilter" class="form-control"> 

然後你重複需要包括NG-模型這樣的過濾器:

ng-repeat="user in dataSet | filter: dataFilter" 

然後,只需指定你想要的過濾器到搜索過濾器的$ scope變量,在這種情況下,它將是$ scope.dataFilter。

這裏有一個例子plnkr我放在一起給你: http://plnkr.co/edit/isYfL6mVLPusc94mivGA?p=preview

+0

@Fernando。過濾器:searchTerm「它應該完美地工作。 –

+0

它只適用於一個搜索過濾器。 這個怎麼樣? http://plnkr.co/edit/NTlKu3vmvv2kCykdSGlb?p=preview 你會做什麼? –

+0

@FernandoClaussen我猜你還希望自動選擇類別? – SB2017