在Angular中的下拉列表中预选值

时间:2016-03-04 07:22:25

标签: angularjs

我正在尝试在Angular的下拉列表/选择框中预选一个值。它应该非常简单,但不起作用。

这是我的标记:

                <select name="type" ng-model="ctrl.typeId" required>
                    <option value="1">Type 1</option>
                    <option value="2">Type 2</option>
                    <option value="3">Type 3</option>
                    <option value="4">Type 4</option>
                </select>

在我的控制器中我只是:

vm.typeId = 2;

但它没有选择任何东西。相反,在下拉元素上使用检查器时,我会看到一个值为<option>的新"? number:2 ?"

我缺少什么?

3 个答案:

答案 0 :(得分:2)

不需要在控制器中进行控制

 $scope.typeId="2" 

用于选择值为2的选项

答案 1 :(得分:1)

var app = angular.module("app",[]);
app.controller("ctrl" , function($scope){
  $scope.typeId ='2';
  
  })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
  <select name="type" ng-model="typeId" required>
                    <option value="1">Type 1</option>
                    <option value="2">Type 2</option>
                    <option value="3">Type 3</option>
                    <option value="4">Type 4</option>
   </select>
</div>

答案 2 :(得分:1)

选择下拉列表将为您提供一个字符串,因此如果您想在下拉列表中设置某些内容,则应使用字符串值而非数字值初始化其模型。

试试这个 - vm.typeId = "2";