The following HTML, Javascript and JSON render correctly, but the filter does not work at all. What are we doing wrong?
Very helpful to know ... here's a more generic version of alfrescian's solution, to filter a list of objects by a sub-key.
app.filter('objFilter', function() {
return function(items, filter) {
if (!filter){
return items;
}
var result = {};
angular.forEach( filter, function(filterVal, filterKey) {
angular.forEach(items, function(item, key) {
var fieldVal = item[filterKey];
if (fieldVal && fieldVal.toLowerCase().indexOf(filterVal.toLowerCase()) > -1){
result[key] = item;
}
});
});
return result;
};
});
You can then have multiple filter boxes, like this
And your ng-repeat would look like this