Попробуйте с такими изменениями:
ng-repeat="crib in cribs | cribsFilter:priceInfo.min:priceInfo.max | orderBy: '-id'"
и
.module('ngCribs').filter('cribsFilter', function() {
return function(listings, min, max) {
var filtered = [];
Итак, код результата:
<div class="container">
<div class="row price-form-row" ng-if="!addListing">
<span class="input-group-addon">Min Price</span>
<select name="minPrice" id="minPrice" [ng-model]="priceInfo.min" class="form-control">
<option value="100000">$100,000</option>
<option value="200000">$200,000</option>
<option value="300000">$300,000</option>
</select>
</div>
<span class="input-group-addon">Max Price</span>
<select name="maxPrice" id="maxPrice" ng-model="priceInfo.max" class="form-control">
<option value="100000">$100,000</option>
<option value="200000">$200,000</option>
<option value="300000">$300,000</option>
</select>
<div class="container">
<div class="col-sm-4"
ng-repeat="crib in cribs | cribsFilter:priceInfo.min:priceInfo.max | orderBy: '-id'">
<i class="glyphicon glyphicon-tag"></i> {{crib.price | currency}} <i class="glyphicon glyphicon-home"></i> {{crib.address}}
<span class="label label-primary label-sm">{{crib.type}}</span></div>
</div>
</div>
JS:
angular
.module('ngCribs').filter('cribsFilter', function() {
return function(listings, min, max) {
var filtered = [];
angular.forEach(listings, function(listing) {
if(listing.price >= min && listing.price <= max) {
filtered.push(listing);
}
});
return filtered;
}
});
Теперь вы не должны получить сообщение об ошибке Plunker: http://run.plnkr.co/l5oe6uLyfP4fpPJA/