そのため、検索を制限したいいくつかのパラメーターを持つ検索ボックスがあります。これには、私の例では姓と名が含まれます。
だから私はこれをそのように実装しようとしてきました。これは、ドロップダウン リストのコードです。
<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 (条件付き入力なし) の入力検索ボックスが 1 つしかない場合は、問題なく機能します! 私は何を間違っていますか?これを行うより良い方法はありますか?
私が扱っている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":"user1@gmail.com","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":"user22@gmail.com","username":"user2"}]