我正在尝试为选择框设置默认值,但是我很难这么做,而且我也不知道哪里出了问题。这是我的代码

<select class="form-control" ng-init="newQuestion.positionOnSurvey=vm.questionsPositions[0]" ng-model="newQuestion.positionOnSurvey">
                                    <option ng-repeat="position in vm.questionsPositions track by $index" value="{{position}}">{{position}}</option>
</select>


vm.questionsPositions [0] = 5,所以这不是问题。我没有在控制器中初始化newQuestion,但是ng-init应该不是这种情况吗?

更新:

现在,我正在像这样初始化该字段,但是它仍然无法正常工作。

vm.newQuestion = {};
vm.newQuestion.positionOnSurvey = vm.questionsPositions[0];

<select class="form-control" ng-model="vm.newQuestion.positionOnSurvey">
    <option ng-repeat="position in vm.questionsPositions track by $index" value="{{position}}">{{position}}</option>
</select>

最佳答案

您应该使用控制器来初始化值,以及使用ng-options创建下拉列表的更好方法

喜欢:

HTML:

<select class="form-control" ng-model="newQuestion.positionOnSurvey" ng-options="position for position in vm.questionsPositions"></select>


控制器:

        $scope.vm ={};
        $scope.newQuestion ={};
        $scope.vm.questionsPositions = [12,14];
        $scope.newQuestion.positionOnSurvey = $scope.vm.questionsPositions[0];


因此选择列表中的初始值为12

10-05 20:52
查看更多