Я сделал фильтр диапазона цен, а когда Флажки щелкнул, я хочу, чтобы отобразить только те элементы, которые имеют цену падения в диапазоне цен, указанный в окошкеугловой диапазон цен фильтр не работает
Это то, что я следую - http://jsfiddle.net/65Pyj/
HTML
<div class="checkbox">
<input type="checkbox" ng-click="includePrice('0,700')" ng-checked=""/> Rs 700 and Below <br/>
<input type="checkbox" ng-click="includePrice('701,1500')" ng-checked=""/> Rs 701 - 1500 <br/>
<input type="checkbox" ng-click="includePrice('1501,3000')" ng-checked=""/> Rs 1501 - 3000 <br/>
<input type="checkbox" ng-click="includePrice('3001,5000')" ng-checked=""/> Rs 3000 - 5000 <br/>
<input type="checkbox" ng-click="includePrice('5001,100000000')" ng-checked=""/> Rs 5001 and Above
</div>
В контроллере, я получаю мин и максимум каждого чекбокса в массив и снова минимальное и максимальное из этого массива в качестве нижнего и верхнего предела
Контроллер
$scope.priceIncludes = [];
$scope.ranges = [];
$scope.includePrice = function(pricerange) {
var i = $.inArray(pricerange, $scope.priceIncludes);
if (i > -1) {
$scope.priceIncludes.splice(i, 1);
ranges = pricerange.split(',').splice(i, 1);
} else {
$scope.priceIncludes.push(pricerange);
}
var arrayString = $scope.priceIncludes.join();
var rangeArray = arrayString.split(',')
$scope.maxRange = function(rangeArray){
return Math.max.apply(Math, rangeArray);
};
$scope.minRange = function(rangeArray){
return Math.min.apply(Math, rangeArray);
};
$scope.ranges[1] = $scope.maxRange(rangeArray);
$scope.ranges[0] = $scope.minRange(rangeArray);
}
$scope.priceFilter = function(searchResult) {
if ($scope.priceIncludes.length > 0) {
if ((parseInt(searchResult.fees) >= parseInt($scope.ranges[0])) && (parseInt(searchResult.fees) <= parseInt($scope.ranges[1])))
return;
}
return searchResult;
}
При использовании
filter:priceFilter
он возвращает случайные результаты, которые выпадают из выбранного минимального и максимального предела.
Я использовал ParseInt чтобы convert..should это работает, то –
Создать демо, которое тиражирует проблема – charlietfl
@charlietfl - извините, я не мог сделать это раньше - я создал скрипку. То, что происходит, это возврат результатов без фильтрованных элементов, а не только отфильтрованных элементов - https://jsfiddle.net/da60e8zg/ –