使用选择下拉过滤器中的ng-options进行拼接

时间:2015-01-14 04:34:48

标签: javascript angularjs select filter

如何拼接数组中的某些元素以在ng选项中显示它

继承人JSON

    $scope.result=[
            {
                "id": 1,
                "name": "min",

            },
            {
                "id": 2,
                "name": "hour",

            },
            {
                "id": 3,
                "name": "second",

            },
            {
                "id": 4,
                "name": "inch",

            },
            {
                "id": 5,
                "name": "km",

            }
    ]

我想从数组拼接英寸和公里并显示它选择下拉列表

<select ng-options="r.id as r.name for r in result"><option value="">--Select---</option></select>

还尝试了内联过滤器,它只会根据id <select ng-options="r.id as r.name for r in result|filter:{id:'!4'}"><option value="">--Select---</option> </select>

等ID显示

但这只会拼接一个元素,即。,id:5(km)。我想拼接id:4

1 个答案:

答案 0 :(得分:1)

使用原生javascript filter进行工作

var newResult = $scope.result.filter(function(obj){
  return obj.name === 'km' || obj.name === 'inch';
});
console.log(newResult); // will give expected result.

您可以将过滤结果分配给您要循环的scope中的键。