我正在尝试根据firstname
和title
属性过滤数据,但它不会过滤。
<label>by Name
<input type="text" ng-model="searchText.data.firstname"></label> |
<label>by Title
<select name="title">
<option value="">All</option>
<option value="">Zone Manager</option>
<option value="">Logistic agent</option>
</select></label>
<hr/>
<div ng-repeat="accDetails in acct_list | filter:searchText">
{{accDetails.data.firstname}} |
{{accDetails.data.lastname}} |
{{accDetails.title}}
</div>
JSON数据是:
$scope.acct_list = {
"0": {
"data": {
"firstname": "maeli",
"lastname": "mad",
//...
},
"title": "Shop"
},
"1": {
"data": {
//...
},
"title": "hotel"
}
}
这是我的plnkr
答案 0 :(得分:0)
过滤无效的原因是filter
仅适用于数组,而acct_list
不是数组。
您可以将数据更改为数组:
$scope.acct_list = [
{
"data": {
"firstname": "maeli",
"lastname": "mad",
//...
},
"title": "Shop"
},
{
...
}
]
或者,在控制器中排列一个数组,然后安排ng-repeat
。
这是关于此主题的另一个相关SO question。
另外,请勿忘记将ng-model="searchText.title"
添加到<select>
并相应填写<option>
值。