我正在尝试在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 ?"
。
我缺少什么?
答案 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";