javascript - 将枚举值绑定(bind)到 ng-options angular js

标签 javascript angularjs select ng-options angularjs-ng-options

来自 http GET 方法的响应 JSON 如下所示

 [
    {
        "1": "Open"
    },
    {
        "2": "Expired"
    }
]

如何在 Angular js 中的选择下拉框中绑定(bind)此数据。 我试过这个选项:

<select class="form-control" ng-model="selected" ng-options="item for item in data"> 
<option value="">----Select----</option> 
</select>

但是我在下拉列表中得到 [object,object]。

最佳答案

您可以简单地使用 Array.reduce 将 json 数据转换为 ng-options 期望的格式,按照

$scope.options = data.reduce(function(memo, obj) {
    return angular.extend(memo, obj);
}, {});

<select ng-model="selected" ng-options="key as val for (key, val) in options"></select>

这里有完整的例子 http://plnkr.co/edit/PV4BYrz0KBkIFPWVzVaT?p=preview

关于javascript - 将枚举值绑定(bind)到 ng-options angular js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27635219/

相关文章:

javascript - Angular : Allow selection from only one group in drop-down list bootstrap-select

javascript - 将内容动态添加到 Angular Promise 创建的元素中

mysql - 如何查询关系表中的所有结果?

elasticsearch - Elasticsearch相当于SelectMany

javascript - Angular : ng-model binding not updating when changed with jQuery

php - 如何用临时列聚合不相关的表

javascript - Angular 翻译 : LocalStorage plugin and requirejs error

javascript - meteor Restivus : Method PUT is not allowed by Access-Control-Allow-Methods in preflight response

javascript - Angular 翻译多个 json 文件

javascript - getDocument by id/从按钮获取输入文本不起作用