【发布时间】:2016-09-13 23:24:03
【问题描述】:
我有以下对象:
defaults = {
0 : {
id : 10,
value : "string 1"
},
1 : {
id : 22,
value : "string 2"
}
}
我想遍历这个对象并将其显示为一个选择框。
<select ng-model="selectedValue" ng-options="obj.id as obj.value for obj in defaults">
<option value="">---Select option-----</option>
</select>
我想要实现的是默认选择“字符串 2”。但它不起作用。 我遇到的问题是 selectedValue 是一个字符串:
$scope.selectedValue = "string 2";
从我从文档中了解到的 selectedValue 必须是同一个对象。但不幸的是,这是不可能的。在我的情况下 selectedValue 必须是一个字符串。 换句话说我只需要使用选项的名称来操作,我不关心id。 我尝试使用 ng-repeat。它甚至可以工作,但显示一个空选项,我认为使用 ng-repeat 不是一个好方法。
任何建议将不胜感激。
【问题讨论】:
-
如果你希望 selectedValue 包含值,而不是 ID,那么你不应该使用
obj.id as obj.value,而应该使用obj.value as obj.value -
非常感谢。正是我需要的。请重新发布您的评论作为回复。我会接受的。
-
您想要所选选项的整个对象还是只想要字符串值?
标签: angularjs angularjs-ng-repeat ng-options angularjs-ng-options