我有一个select
,其值是一个简单的对象。
显示为option
的内容是此对象的属性,但值是对象本身。
我通过将模型设置为正确的对象来为此select
设置默认值。
但select
未显示任何选定的值,而模型已正确设置。
以下是我尝试的3种不同方式:
Current value of representative.title : {{representative.title}} <br/><br />
<div class="form-group">
<select ng-model="representative.title"
ng-options="title.name for title in titles"
ng-disabled="$parent.isDisabled"
class="form-control">
</select>
</div>
<br />
<div class="form-group">
<select ng-model="representative.title"
class="form-control">
<option ng-repeat="title in titles"
value="{{title}}">
{{title.name}}
</option>
</select>
</div>
<br />
<div class="form-group">
<select ng-model="representative.title"
ng-options="title as title.name for title in titles"
ng-disabled="$parent.isDisabled"
class="form-control">
</select>
</div>
在我的控制器中:
$scope.titles = [{"name": "Monsieur"},{"name": "Madame"}];
$scope.representative = {"title": {"name": "Monsieur"}, "otherField": "otherValue"};
为什么我的选择不显示默认值?
我该如何解决?
(顺便说一下,我正在使用Angular 1.2.28)
答案 0 :(得分:3)
$scope.representative = {"title": $scope.titles[0], "otherField": "otherValue"};
因为你需要传递options数组中包含的一个对象的引用,所以会更准确。