AngularJS - 在ng-repeat中排除数组键

时间:2015-09-22 09:52:37

标签: javascript angularjs select filter

我有以下数组:我得到了密钥并根据密钥生成选择输入,选项是值。所以最后我有四个选择/下拉列表,每个都有两个值。

{
  sku: "401150201025",
  test1: "2,0x1,0",
  test12: "2,5",
  test13: "15,0"
},
{
  sku: "401060120714",
  test1: "1,2x0,7",
  test12: "1,4",
  test13: "6,0"
}  

如何过滤“sku”键,以免“sku”选择apprears。

  <fieldset class="form-group" ng-repeat="(filterName, values) in availableFilters">
    <label class="pull-left"><% filterName %></label>
    <select class="form-control configurator-radio form-control-lg" ng-model="filter[filterName]">
        <option value="!" selected>Alle</option>
        <option value="<% value %>" ng-repeat="value in values"><% value %></option>
    </select>
  </fieldset>  

这是我生成下拉列表的方式。

2 个答案:

答案 0 :(得分:1)

使用ng-show或ng-hide

这使您可以根据值显示某些内容。

ng-show="value.sku == 'some_sku_value'"

您也可以使用ng-hide来完成同样的事情。

答案 1 :(得分:1)

假设在ng-repeat内的一次迭代中filterName为'sku',你可以使用ng-if来显示它。它根本不会添加到DOM中。

<select ng-if="filterName != 'sku'" class="form-control configurator-radio form-control-lg" ng-model="filter[filterName]">