我正在尝试设置选择框的默认值,但我很难尝试这样做,而且我不知道出了什么问题。这是我的代码
<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,所以这不是问题。我没有在 Controller 中初始化 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>
最佳答案
您应该使用 Controller 来初始化值,以及使用ng-options创建下拉列表的更好方法
喜欢:
HTML:
<select class="form-control" ng-model="newQuestion.positionOnSurvey" ng-options="position for position in vm.questionsPositions"></select>
Controller :
$scope.vm ={};
$scope.newQuestion ={};
$scope.vm.questionsPositions = [12,14];
$scope.newQuestion.positionOnSurvey = $scope.vm.questionsPositions[0];
因此选择列表中的初始值为 12
关于javascript - 使用 ng-init 的 select 的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875446/