【发布时间】:2014-08-11 07:44:17
【问题描述】:
在我的代码中,我使用自定义过滤器根据性别(男性女性)进行过滤。但是当我单击男性值时,也会显示女性值,因为女性值中包含男性。当我单击女性时,它会成功过滤。 这是我的代码。
app.filter('myFilter', function() {
return function(items, filterby, filterbyc) {
var filtered = [];
var filtermatch = new RegExp(filterby, 'i');
angular.forEach(items, function(value) {
if ((filtermatch.test(value.gender))) {
filtered.push(value);
}
return filtered;
})
};
});
那么除了 .test 之外,我还可以使用什么函数来比较这些值,以便在比较男性和女性值时,它不会从女性中获取男性。
这是我的html代码
<ul id="result">
<li ng-repeat="x in details | myFilter:filterby">
<div>Name :{{x.name }}</div>
<div>Address : {{x.address }}</div>
<div>Gender: {{x.gender}}</div>
<div>Country: {{x.country }}</div>
<div>Agree: {{x.agree }}</div>
</li>
</ul>
【问题讨论】:
标签: angularjs