AngularJS Live Example
HTML
<script src="http://code.angularjs.org/1.0.0rc4/angular-1.0.0rc4.min.js"></script>
<div ng-app="myApp">
<div ng-controller="MyCtrl">
Hello, {{name}}!
<div ng-repeat="data in list_items | selectedItems:selected_items">
{{ data.name }}
</div>
</div>
</div>
JavaScript
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.name = 'Superhero';
$scope.selected_items = [
{id: "12345"},
{id: "67890"}
]
$scope.list_items = [
{ id: "12345", name: "first", more: "data" },
{ id: "22222", name: "second", more: "data2" },
{ id: "33333", name: "third", more: "data3" },
]
}
myApp.filter('selectedItems', function () {
return function (values, selectedItemsArr) {
console.log(values, selectedItemsArr)
var arrayToReturn = [];
// Loops through the values in the list
for (var i = 0; i < values.length; i++) {
// Now loops through the selected items array to see if it matches
for (var l = 0; l < selectedItemsArr.length; l++) {
if (values[i].id === selectedItemsArr[l].id) {
arrayToReturn.push(values[i]);
}
}
}
return arrayToReturn;
};
});