我有一个客户数组。每个客户都有一个 Field 对象数组。我想 过滤客户数组,以便我获得具有某些特定字段的所有客户。客户数组如下所示。
[{"id":236,
"username":"Tsakos Ntinidis",
"email":"taskos.a@gmail.com",
"fields":[{"id":2,"name":"Entrepreneurship"},
{"id":16,"name":"Sciences (Math, Physics, Chemistry etc)"},
{"id":3,"name":"Engineering"},
{"id":18,"name":"Journalism"}],
"hasVideo":false,
"profileDescription":null,"isNew":false},
{"id":237,
"username":"Nick Brown",
"email":"nikk@gmail.com",
"fields":[{"id":1,"name":"IT"},
{"id":16,"name":"Sciences (Math, Physics, Chemistry etc)"},
{"id":18,"name":"Journalism"}],
"hasVideo":false,
"profileDescription":null}]
填充字段选择字段的列表是:
[{"id":1,"name":"Finance"},{"id":2,"name":"Entrepreneurship"},{"id":3,"name":"Engineering"},{"id":4,"name":"Economics"}]
客户表的 html 是这样的:
<select ng-model="search.fields.field.id" ng-options="field.id as field.name for field in fields">
</select>
<tr ng-repeat="customer in customers | orderBy:predicate:reverse | filter:search" ng- controller="Controller">
<td class="id">{{customer.id}}</a></td>
<td>{{customer.userName}}</a></td>
</tr>
我的主要问题是过滤后数组为空,所以显然出了问题。 谢谢您的帮助
最佳答案
请参阅此处http://jsbin.com/cozasamusinu/1/edit 将选择更改为
<select ng-model="search.fields.id" ng-options="field.id as field.name for field in fields">
</select>
在你的中继器中
<tr ng-repeat="customer in customers |filter :{fields:search.fields.id}:true">
刚才在您的 fields 数组中,您有 { id:1 name:Finance}
和 {user id:1 name:IT}
关于javascript - 按 id 筛选数组 angularjs 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25785595/