Итак, у меня есть окно поиска с несколькими параметрами, которыми я хочу ограничить свой поиск. В моем примере это включает имя и фамилию.
Итак, я пытался реализовать это так. Это код выпадающего списка.
<select id="usersearchby" ng-model="searchFilter" ng-change="selectAction()">
<option>Search By ...</option>
<option value="lastName">Last Name</option>
<option value="firstName">First Name</option>
</select>
Это код поля ввода ввода.
<input type="search" ng-if="searchFilter != 'firstName' && searchFilter != 'lastName'" ng-model="searchText">
<input type="search" ng-if="searchFilter == 'firstName'" ngModel="searchText.first_name">
<input type="search" ng-if="searchFilter == 'lastName'" ngModel="searchText.last_name">
Это код для div, в котором отображаются результаты.
<div class="block_line_item userlist_expanded" ng-repeat="user in users | filter: searchText">
Однако этот код не работает, если у меня есть только одно поле поиска ввода, скажем, first_name (без условных вводов), он работает отлично! Что я делаю не так? Есть ли лучший способ сделать это?
Образец данных json, с которыми я работаю:
[{"role":"1","credentials":"","work_phone":"206–298–3059","last_name":"Doe","middle_name":"","suffix":"","title":"Mr.","mobile_phone":"1–877–932–4259","id":1,"fax":"135–678-6357","first_name":"John","email":"[email protected]","username":"user1"}, {"role":"1","credentials":"","work_phone":"206–298–3059","last_name":"Doe","middle_name":"","suffix":"","title":"Mr.","mobile_phone":"1–877–932–4259","id":2,"fax":"135–678–6357","first_name":"Jane","email":"[email protected]","username":"user2"}]
$http.get("/users").success(function(data) { $scope.users=data; });
Данные пользователей находятся в формате json с парами ключ-значение для first_name и last_name среди прочих. - person geekchic   schedule 08.12.2014