我有一個顯示用戶信息的表格。我們在頂部有一個搜索框,允許用戶輸入文本並從下拉菜單中選擇要搜索的類型。Angular js搜索過濾器(ng-repeat內的日期和ng-repeat)
<input type="text" ng-model=search>
<select ng-model=searchBy>
<option value="$">All</option>
<option value="Name">Name</option>
<option value="DoB">Date of birth</option>
<option value="Hobbies">Hobby</option>
</select>
<div ng-repeat="user in users | filter:searchFilter">
<div>{{user.Name}}</div>
<div>{{user.DoB | date: "MM/dd/yyyy"}}</div>
<div ng-repeat="hobby in user.Hobbies">{{hobby}}</div>
</div>
在javascript中:
Object.defineProperty($scope, "searchFilter", {
get: function() {
var out = {};
out[$scope.searchBy || "$"] = $scope.search;
return out;
}
});
這是爲名稱列唯一的工作。對於日期列,格式有所不同,因爲業餘愛好在內部循環中,即使搜索文本在愛好中,用戶也不會顯示在列表中。有人可以幫助一個滿足所有這些值的過濾器嗎?
TIA。
在您試圖實現這一目標的任何代碼? – ZombieChowder