我是AngularJs的初学者。我尝试使用下拉菜单仅按一个字段过滤数据:
<select ng-model="annee" ng-options="annee.titre for annee in annees track by annee.id">
</select>
<ul>
<li ng-repeat="x in accueils | filter:annee" >
{{x.titre}}
<div ng-bind-html="x.description | to_trusted"></div>
{{x.date}}
{{x.cout}} $
{{x.participants}} participants
</li>
</ul>
在每个x中,有一个字段&#34; annee&#34;,我想按此字段过滤。
对于一个工作示例:http://plnkr.co/edit/MbfrhdKfbTObybsQvxrR?p=preview
现在的问题是,当我在下拉列表中选择一个选项时,我丢失了所有数据,过滤器无效。
你能帮帮我吗?
由于
答案 0 :(得分:2)
这是plunker
事情就像在你的选择中一样,你正在选择完整的对象: -
例如: - 如果您选择“2015-2016”,您将在$ scope.annee中获得{“titre”:“2015-2016”,“id”:3}。
所以,在过滤器中你需要搜索过滤器:{annee:annee.id},这意味着在找到具有anneed.id的accueils中的annee(这是来自模型)。
<li ng-repeat="x in accueils | filter:{annee:annee.id}" >
{{x.titre}}
<div ng-bind-html="x.description | to_trusted"></div>
{{x.date}}
{{x.cout}} $
{{x.participants}} participants
</li>