28
Da giorni sto cercando di farlo funzionare: Con il seguente frammento voglio filtrare alcune persone e dopo che è stato licenziato onchange, ricevo gli oggetti che sono stati filtrati. vedere questo codice in diretta qui: http://jsbin.com/isojof/1/
Qualche idea?
C'è ancora un oggetto $ filtro Oggetto ... ma come crearne uno? $ filter ('filter') ovviamente non funziona!
<html ng-app>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
</head>
<body ng-controller="List">
Search: <input ng-change="getData(names, query)" ng-model="query">
Search: <select ng-change="getData(names, query2)" ng-model="query2">
<option></option>
<option>Berlin</option>
<option>Hamburg</option>
</select>
<div>
<ul class="names" >
<li ng-model="item" " ng-repeat="name in names | filter:query | filter:query2">
{{name.firstname}}, {{name.lastname}}, {{name.age}}, {{name.location}}
</li>
</ul>
</div>
<script type="text/javascript">
function List($scope) {
$scope.names = [
{"firstname": "Carl",
"lastname": "Luyk",
"age": 20,
"location":"Berlin"},
{"firstname": "Carl",
"lastname": "Moreen",
"age": 20,
"location":"Hamburg"},
{"firstname": "Tom",
"lastname": "Luyk",
"age": 25,
"location":"New York"},
{"firstname": "Caren",
"lastname": "Tilt",
"age": 20,
"location":"Paris"},
{"firstname": "Caren",
"lastname": "Orail",
"age": 30,
"location":"Hamburg"},
];
$scope.getData = function (names, query) {
$scope.queryData = $filter('filter')(names, query);
console.log($scope.queryData);
};
}
</script>
</body>
</html>
Iniettare il serv del filtro ice nel controller: 'function List ($ scope, $ filter) {' – Martin
Può anche essere dovuto al fatto che la matrice su cui funziona il filtro non è definita, testata con l'angolazione 1.5.6. – Mantisse