我遇到了select tag和ngmodel的问题。模型中变量的值未在下拉列表中的选项中表示。
以下是代码:
<select ng-model="number">
<option values="5">5</option>
<option values="10">10</option>
<option values="20">20</option>
<option values="25">25</option>
</select>
其中number
在控制器中定义为20.
编译后,添加以下HTML:
<option value="? undefined:undefined ?"></option>
注:
我还在HTML视图中提供了number
,并且在表达式{{number}}
中显示数字没有问题 - 然后它会正确显示。
这是一个plnkr:
答案 0 :(得分:1)
你可以试试这种方式
<select name="mydata" ng-model="number"
ng-options="value for value in [5,10,20,25]">
</select>
控制器中的
$scope.number = 20;
答案 1 :(得分:1)
如果ngModel的viewValue与任何选项都不匹配,那么 控件将自动添加一个“未知”选项,然后它 在不匹配得到解决时删除。
文档here
通常情况下,如果模型的值与其中一个选项的值匹配,则angular将选择一个选项。
10是值10和数据类型字符串,其中$ scope.number = 10使得它的数值类型为10。
因此模型的价值不匹配。
在控制器中尝试$ scope.number ='10',它会起作用。
答案 2 :(得分:0)
你有 $ scope.number = 5 。你应该
$scope.number = '5' // a string. Change 5 to '5'
答案 3 :(得分:0)
$scope.number = 5+"";
在控制器中添加此语句而不是$ scope.number = 5,因为option的值为string