过滤值angularjs

时间:2014-04-17 12:53:28

标签: angularjs restangular

所以我稍后描述了我的问题。我的问题有什么解决方案吗?

我的过滤功能

 $scope.filtered = function(){
    for(var i = 0; i < $scope.inventories.length; i++) {
        $scope.filtered_inventories = new Inventory().query($scope.filtrs).$object;
    }
 };

在我的模板中

<select ng-model="filtrs.model" ng-change="filtered()">
<option value="">Model</option>
<option ng-repeat="inventory in inventories" value="{{inventory.model}}">{{inventory.model}}</div>
</select>
<!--filter inventory Manufacturer-->
<select ng-model="filtrs.manufacturer" ng-change="filtered()">
    <option value="">Manufacturer</option>
    <option ng-repeat="inventory in inventories" value="{{inventory.manufacturer}}">{{inventory.manufacturer}}</div>
</select>

当我使用一个选择进行过滤时,它会过滤

{
  "manufacturer": "Samsung"
}

当我发现价值并选择制造商时,它会显示

{
  "manufacturer": ""
}

因此,当我选择模型并取消选择制造商时,它不会显示任何内容,因为制造商仍然显示为问题NR1

{
  "manufacturer": "",
  "model": "M2112"
}

第二个问题是我在那些选择中选择两个不同的值它再次显示所有内容,但从逻辑上讲它应该显示任何内容。 问题NR2

1 个答案:

答案 0 :(得分:0)

这不是你如何在angularjs

中的select中定义选项

请查看:http://docs.angularjs.org/api/ng/directive/select

您的代码应如何显示:

<select ng-model="filtrs.model" 
        ng-change="filtered()"
        ng-options="inventory.model as inventory.model for inventory in inventories">
  <option value="">Model</option>
</select>
<!--filter inventory Manufacturer-->
<select ng-model="filtrs.manufacturer" 
        ng-change="filtered()" 
        ng-options="inventory.manufacturer as inventory.manufacturer for inventory in inventories">
    <option value="">Manufacturer</option>
</select>

一旦您更改了代码,请告诉我您是否还有问题。