选择不显示其默认值

时间:2016-08-26 11:27:19

标签: javascript html angularjs html-select

我有一个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)

1 个答案:

答案 0 :(得分:3)

$scope.representative = {"title": $scope.titles[0], "otherField": "otherValue"};

因为你需要传递options数组中包含的一个对象的引用,所以会更准确。