udało mi się dostać kod działa. Jest to pewnego rodzaju naprawa, a lepszym podejściem byłoby stworzenie filtru (również nad nim pracującego). Założenia że zrobiłem: -
filtrem stanu państwa oznacza sprawdzenie
Przez filtr ADMIN Stan 'userStatus' oznacza sprawdzenie 'role'
Sprawdź tę Plnkr
I filtruję na podstawie obiektu, który aktualizuje na podstawie $ scope.filter.
Zmiany HTML
<div ng-repeat="item in mylist | filter:filterModel">
Zmiany JS
$scope.filterModel =
{
"userStatus":"",
"roles" : ""
}
$scope.$watch('filter', function() {
var myModel =
{
"userStatus":"",
"roles" : ""
}
if($scope.filter.administrator && $scope.filter.lead)
{
myModel.userStatus="";
}
else if($scope.filter.administrator)
{
myModel.userStatus="admin";
}
else if($scope.filter.lead)
{
myModel.userStatus="lead";
}
else
{
myModel.userStatus="";
}
if(angular.equals($scope.filter.selectedSearch,'Default'))
{
myModel.roles="";
}
else
{
myModel.roles=$scope.filter.selectedSearch;
}
$scope.filterModel=myModel;
},true);
UPDATE: filtr Marka wydaje się być poprawnie
http://jsfiddle.net/vzndtnkp/2/ pracy –
Jedno jest pewne: w twoim kodzie masz zasięg $.filterByCategory = funkcja (stat), która przyjmuje parametr o nazwie stat. Wywołujesz tę funkcję w filtrze bez podawania jakichkolwiek parametrów. To przynajmniej zepsuje twój filtr. –
stat jest przedmiotem listy –