@maxprof
Студент

Как реализовать фильтрацию в Angular?

Здравствуйте, есть рабочий фильтр:
<div class="myFilter">
	Введите название: <input type="text" ng-model="filter"> <br />
	Моторола: <input type="checkbox" ng-model="Motorola" ng-true-value="'Motorola'" ng-false-value=''> <br />
	Dell: <input type="checkbox" ng-model="Dell" ng-true-value="'dell'" ng-false-value=''> <br />
	Samsung: <input type="checkbox" ng-model="Samsung" ng-true-value="'samsung'" ng-false-value=''> <br />
	LG: <input type="checkbox" ng-model="LG" ng-true-value="'lg'" ng-false-value=''> <br />
	Nexus: <input type="checkbox" ng-model="Nexus" ng-true-value="'nexus'" ng-false-value=''> <br />
	Droid: <input type="checkbox" ng-model="Droid" ng-true-value="'droid'" ng-false-value=''> <br />
	Количество: <label>{{phones.length}}</label>

		<h1 ng-show="phones.length == 0 ">Товары с данными параметрами отсутствуют</h1>
			<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 phone" ng-repeat="phone in phones = (phones | filter:{name:filter} | filter:{name:Dell} | filter:{name: Motorola} | filter: {name:Samsung} | filter: {name:LG}| filter: {name:Nexus}| filter: {name:Droid})">
				<img ng-src="{{phone.imageUrl}}" alt="{{phone.name}}">
				<h1>{{phone.name}}</h1>
				<p>{{phone.snippet}}</p>
				<strong>{{phone.price}} $</strong>
			</div>
</div>


Код полностью рабочий, но есть одно НО. Если я выбираю например checkbox с LG, то мне выводятся все телефоны LG, но если снять галочку с чексбокса, то ничего не меняется, а хотелось бы, чтобы список просто возвращался к начальному (не фильтрованому) виду.
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
medianoche
@medianoche
Если по хард-кору, то повесить слушатель на все ng-model и если checkbox отдает false, то filter = ''
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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