2014-02-14 13 views
0

我有產品的型號列表AngularJS過濾模型和排序ID名單

$scope.products=[{id:1,name:'product1'},{id:2,name:'product2'},{id:3,name:'product3'}, /*...*/] 

和選擇的產品(ID列表)

$scope.selectedProducts=[1,5,3,8,12] 

我只顯示選定的產品在相同的順序在選定的產品列表中

我該怎麼做?

回答

0

您可以應用過濾器。工作小提琴:http://jsfiddle.net/6XdaH/

代碼過濾:

angular.module('myApp',[]).filter('filteredProducts', function(){ 

    return function(items,selectedProducts){ 
    var arrayToReturn = []; 
    selectedProducts=[1,5,3];  
    for (var i=0; i<items.length; i++){ 
     for(var j=0;j<selectedProducts.length;j++){ 
      if (items[i].id == selectedProducts[j]) { 
      arrayToReturn.push(items[i]); 
      } 
     }    
    } 

    return arrayToReturn; 
    }; 
});