2016-04-26 6 views
0

ドロップダウンリストで選択されたカテゴリ別にフィルタを適用する際に問題があります。私は製品がフィルタリングされていないドロップダウンリストの値を変更した後ここでAngularJS filter by dropdown value

var category = { 
    "Dairy": 1, 
    "Bread": 2, 
    "Drink": 3, 
    "Spices": 4, 
    "Meat": 5 
} 


$scope.categories = [ 
    { text: "All", value: 0 }, 
    { text: "Dairy", value: 1 }, 
    { text: "Bread", value: 2 }, 
    { text: "Drink", value: 3 }, 
    { text: "Spices", value: 4 }, 
    { text: "Meat", value: 5 } 
]; 


$scope.products = [ 
    { name: "Milk", value: 3.28, avaible: true, expireDate: "2016-04-29", category: category.Dairy }, 
    { name: "Serek wiejski", value: 1.28, avaible: false, expireDate: "2016-04-26", category: category.Dairy }, 
    { name: "Coca-cola", value: 6.98, avaible: true, expireDate: "2017-04-29", category: category.Drink }, 
    { name: "Corn", value: 0.99, avaible: true, expireDate: "2016-09-19", category: category.Spices }, 
    { name: "Ham", value: 9.00, avaible: true, expireDate: "2016-04-29", category: category.Meat }, 
    { name: "Bread", value: 3.78, avaible: true, expireDate: "2016-04-29", category: category.Dairy } 
]; 

はHTML

<select ng-model="selectedCategory"> 
     <option ng-repeat="cat in categories" value="{{cat.value}}"> 
      {{cat.text}} 
     </option> 
    </select> 

<div ng-repeat="product in products | filter: product.category == selectedCategory"> 

です。ここに私のコントローラのように見えますか

id = 5の場合、期待どおりに動作します。

条件product.category = selectedCategoryが間違っていますか?

答えて

1

1のおかげで動作します。この

<div ng-repeat="product in products | filter:{category:selectedCategory}"> 
+0

を試してみてください:) – miechooy