我使用ng-repeat
显示表格中的数据。现在,我必须使用基于角度下拉列表multiselect
的选中值来过滤数据。怎么做才能有人帮助我?
答案 0 :(得分:1)
我要做一些假设。首先是你使用我用Google搜索时看到的第一个Angular Dropdown Multiselect。看起来他们的网站可能有点破碎,但我收集的是你的模型应该是一个对象数组,每个对象都有一个ID和显示。在这种情况下,您可以使用过滤器。在过滤器中,只需根据匹配的ID编译一个数组。因此,如果你的控制器看起来像:
class MyResult {
public static void main(String[] args) {
double per = 65.56;
if (per >= 75) {
System.out.println("Result is FCD");
}
elseif(per >= 60); {
System.out.println("Result is FC");
}
elseif(per >= 45); {
System.out.println("Result is SC");
} else {
System.out.println("Result fail");
}
}
}
然后创建一个过滤器:
app.controller('Ctrl', function($scope) {
$scope.FilterPhrase = [
{ID:6, Display:"Display6"},//this wont show up
{ID:3, Display:"Display3"},
{ID:1, Display:"Display1"}];
$scope.myData = [{ID:1, Display:"Display1"},
{ID:2, Display:"Display2"},
{ID:3, Display:"Display3"},
{ID:4, Display:"Display4"},
{ID:5, Display:"Display5"}];
});
最后,在ng-repeat
结束时调用它app.filter('multifilter', function () {
return function (list, filterdata) {
var results = [];
filterdata.forEach(function(a){
var r = list.find(function(b){
return a.ID==b.ID;
});
results.push(r);
});
return results;
};
});