我正在尝试使用角度1.5中的ngOptions属性从Angular中的简单数组创建一个下拉菜单,但是在阅读文档和浏览网页后,我似乎无法使用“简单”工作'数组(对象工作正常)。
我收到了以下数据
["Interne Vacatures","Human Resources","Sales"]
我在视图中使用以下代码
<select class="form-control" ng-model="widget.GroupNameSearch" id="widgetselectedGroupName" ng-options="group as widget.GroupNameSearch for group in widget.GroupNameSearch | orderBy:'GroupNameSearch' track by widget.GroupNameSearch">
<option value="" disabled selected>--- Kies een group ---</option>
<option value="" ng-if="false"></option>
</select>
我不确定为什么会产生这些结果,但如果我将我的数组更改为json对象,我可以让它工作。不幸的是,我不会浪费你的记忆。下面是JSON的一个工作示例:
{"groupName": {
"groupName":"Group 100",
"mail":"Group100@one365dev1.onmicrosoft.com"}
}
<select class="form-control" ng-model="widget.selectedGroupName.groupName" id="widgetselectedGroupName" ng-options="group as group.groupName for group in widget.GroupNameSearch | orderBy:'groupName' track by group.groupName" >
<option value="" disabled selected>--- Kies een group ---</option>
<option value="" ng-if="false"></option>
</select>
非常感谢任何帮助。 干杯!
答案 0 :(得分:1)
这是因为您的选项中有widget.GroupNameSearch
。
ng-options="group as widget.GroupNameSearch for group in widget.GroupNameSearch.."
// ^^^^^^^^^^^^^^^^^^^^^^ this one
您正在尝试再次引用整个数组作为对当前项目的引用。
可以将其读作value as label for collection
。现在,您不应该将整个数组本身作为每个项目的label
,不是吗?
相反,您可以像字符串数组一样使用它,
ng-options="group as group for group in widget.GroupNameSearch..
答案 1 :(得分:0)
继续tanmay所说的,确保你的ng-options是这样的。 更多关于这里: ng-options with simple array init
<div ng-controller="Ctrl">
<select class="form-control" ng-model="widget.selectedGroupName.groupName" id="widgetselectedGroupName" ng-options="a as a for a in groups">