javascript - 使用 ng-init 的 select 的默认值

标签 javascript angularjs

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

<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/

相关文章:

javascript - 在 Chrome 扩展中设置 i18n 消息样式

javascript - 使用 Javascript 访问 Blackberry 上的 GPS 并通过 url 将纬度/经度值发送到服务器

javascript - Firebase 函数 - 写入数据库

javascript - HTML5 中 <canvas> 部分的就地裁剪

javascript - 使用 Angular 加载的新 View 未在 View 顶部加载

javascript - 如何有条件地禁用 ngTouch 并回退到 ng-click

javascript - ngAnimate 与 ui-view

javascript - 当相应的 div 滚动到时,将类添加到适当的导航选项卡

javascript - 在 AngularJS 中如何从服务本身内部的回调修改服务属性