2016-03-04 47 views
0

我正试图在Angular的下拉/选择框中预选一个值。它应该非常简单,但它不起作用。在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

尝试此vm.typeId = '2'; –

回答

2

不需要在CTRL控制器

$scope.typeId="2" 

,用于选择选项与值2

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>

1

所以如果你想设置的东西在下拉菜单中,你应该用一个字符串值不是数值初始化它的模型选择下拉会给你一个字符串。

尝试此 - vm.typeId = "2";

+0

啊。那么当值从另一个值作为int返回时,我该怎么办?以某种方式转换它,或? – brother

+0

是将其转换为字符串,然后将其初始化为下拉模型。 xyz.toString() –

相关问题