Как активировать функции фильтрации по checkbox в angular?

Привет, у меня есть , блок предложений:
<form action="">
                    <input type="checkbox" id="inp1">
                    <label for="inp1">Все товары</label>
                    <input type="checkbox"  id="inp2">
                    <label for="inp2">Новинки сегодня</label>
                    <input type="checkbox" id="inp3">
                    <label for="inp3">Новинки недели</label>
                    <input type="checkbox" id="inp4">
                    <label for="inp4">Бесплатная доставка</label>
                </form>

Так же для "Новинки сегодня" и "Новинки недели" написал такие фильтры:
$scope.newOnWeek = function(products){
                     $scope.time = (Date.now() - Date.parse(products.add_update_time));

                     if ($scope.time <= 604800000) {
                         return $scope.products;
                     } else {

                         return null;
                     }

                };

                $scope.newOnDay = function(products){
                       $scope.time = (Date.now() - Date.parse(products.add_update_time));

                       if ($scope.time <= 86400000) {
                           return $scope.products;
                       } else {

                           return null;
                       }
                };

Использую фильтры так:
<div class="catalog-item" ng-repeat="product in products |filter:newOnWeek|filter:newOnDay">
 <a href="{{product.external_url}}" class="item-title">{{ product.name }}</a>
</div>


Как активировать функции фильтрации по checkbox в angular?
  • Вопрос задан
  • 335 просмотров
Решения вопроса 1
@walkaway Автор вопроса
Сделал через ng-model, вот так:
<input type="checkbox" id="inp2" ng-model="newTodayActivated">
 <label for="inp2">New today</label>

$scope.newToday = function(products){      
  if($scope.newTodayActivated) {
  } else {
  }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы