我喜欢为订购数据构建一个select元素。我喜欢自动为对象的任何属性创建选项。
代码
<select class="order" ng-model="model.order">
<option value="{{key}}" ng-repeat="(key, value) in dataItems[0]">{{key}}</option>
</select>
数据
dataItem: {
{ firstname: "beate", lastname: "lind" }
{ firstname: "john", lastname: "rich" }
}
在这种情况下,它将采用第一个对象并生成我的选择选项。
答案 0 :(得分:2)
在ng-repeat
标记上使用select
不正确。
请参阅ng-options
属性,该属性的行为应更加一致,并为您提供所需的结果:
答案 1 :(得分:0)
@Cranio是正确的,ngOptions
是使用select
时的正确方法。使用您的代码就是它的样子。
$scope.dataItem = [
{ firstname: "beate", lastname: "lind" }
{ firstname: "john", lastname: "rich" }
]
<select ng-model="model.order" ng-options="(name.firstname + ' ' + name.lastname) for name in dataItem">
<option value="">[-- select --]</option>
</select>
如果您遇到问题,这篇SO帖子会有很多有用的答案(ngOptions
还有其他几项可以做的事情)
How do I set the value property in AngularJS' ng-options?