Select 和 NgModel 模型问题
Select and NgModel issue with model
我对 select 标签和 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:
你可以这样试试
<select name="mydata" ng-model="number"
ng-options="value for value in [5,10,20,25]">
</select>
在控制器中
$scope.number = 20;
您有 $scope.number=5。你应该
$scope.number = '5' // a string. Change 5 to '5'
$scope.number = 5+"";
在您的控制器中添加此语句而不是 $scope.number=5 因为选项的值为字符串
If the viewValue of ngModel does not match any of the options, then
the control will automatically add an "unknown" option, which it then
removes when the mismatch is resolved.
文档here
通常,如果模型的值与其中一个选项的值匹配,angular 将选择一个选项。
10 的值为 10,数据类型为字符串,其中 $scope.number = 10 使其成为数字类型的值 10。
所以模型的值不匹配。
在您的控制器中尝试 $scope.number = '10',它会起作用。
我对 select 标签和 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:
你可以这样试试
<select name="mydata" ng-model="number"
ng-options="value for value in [5,10,20,25]">
</select>
在控制器中
$scope.number = 20;
您有 $scope.number=5。你应该
$scope.number = '5' // a string. Change 5 to '5'
$scope.number = 5+"";
在您的控制器中添加此语句而不是 $scope.number=5 因为选项的值为字符串
If the viewValue of ngModel does not match any of the options, then the control will automatically add an "unknown" option, which it then removes when the mismatch is resolved.
文档here
通常,如果模型的值与其中一个选项的值匹配,angular 将选择一个选项。
10 的值为 10,数据类型为字符串,其中 $scope.number = 10 使其成为数字类型的值 10。
所以模型的值不匹配。
在您的控制器中尝试 $scope.number = '10',它会起作用。