AngularJS按下拉值过滤

时间:2016-04-26 12:19:00

标签: angularjs drop-down-menu

我在按下拉列表选择的类别过滤我的数据时遇到问题。

这看起来像我的控制器:

?raw

这是HTML

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 }
];

更改下拉值后,产品不会被过滤。只是id = 5,它按预期工作。

  

条件product.category = selectedCategory是错误的吗?

1 个答案:

答案 0 :(得分:1)

试试这个

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