2015-03-27 3 views
0

В AngularJS Я хочу знать, можно ли фильтровать данные столбца вида, используя два возможных значения. Так что ... если я передать значение параметра в контроллер страницы, я хочу, чтобы ограничить данные для конкретных значений .....Фильтр двух значений для одного и того же параметра

Data: 
Product  Status 
Item 1   Active 
Item 2   Planned 
Item 3   Completed 
Item 4   Cancelled 

, если я хочу только одно значение, я могу передать routeParams такого в filterCol, filterVal как и следующий будет показывать только элементы, которые являются активными:

/programs/status/Active/ 

app.controller('AllItemsController', function($scope,$http,$rootScope,$routeParams){ 
$scope.tableFilter = {}; 
    if($routeParams.filterCol && $routeParams.filterVal){ 
     $scope.tableFilter[$routeParams.filterCol] = $routeParams.filterVal; 
    } 
}); 

Мой XML похож на:

<table class="table table-bordered table-condensed table-hover" ts-wrapper 
    <thead> 
     <tr> 
      <th ts-criteria="itmName | lowercase">Item Name</th> 
      <th ts-criteria="status">Status</th> 
     </tr> 
     <tr> 
      <th><input type="text" class="form-control input-sm" ng-model="tableFilter.itmName"></th> 
      <th><input type="text" class="form-control input-sm" ng-model="tableFilter.status"></th> 
     </tr> 
    </thead> 
    <tbody> 
      <tr ng-repeat="it in allItemData | filter: tableFilter" ts-repeat "> 
       <td>{{it.itmName}}</td> 
       <td>{{it.status}}</td> 
      </tr> 
    </body> 
</table> 

Теперь, как я могу изменить контроллер, если я хочу, чтобы отправить значение, такое как «ActPlan» a nd показать все элементы, которые являются активными или запланированными? (например:/programs/status/ActPlan /)

Я думаю, что мне как-то нужно изменить способ установки $ scope.tableFilter (путем проверки значения $ routeParams.filterVal), но я не могу понять, как установить tablefilter и не смог найти пример, чтобы помочь мне. Я попытался установить его равным [«Активный, плановый»], но это ничего не принесло.

ответ

1

Если у вас есть несколько условий, вы можете просто использовать функцию фильтра, например, thread.

+0

Спасибо. Я в конечном итоге использовал что-то похожее на одно из них, но должен был сделать серьезную доработку - пока это работает. Спасибо. – user3861284

Смежные вопросы