在 AngularyJs 中,为什么我的 ng-model 值没有设置选定的选项?
In AngularyJs, why is my ng-model value not setting the selected option?
我有一个 select 有 4 个选项。该值在 ng-init
上设置,并且只能由用户从那时起更改。我所有的初始函数都接受 ng-init
设置的值并更改值有效,但未显示 selected 值。
<select name="resultShow" class="result-show" ng-init="resultShow=25" ng-change="updateProd(resultShow,prodState,prodType,prodStyle,prodBrand,keywords)" ng-model="resultShow">
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option>
</select>
检查这个功能。我正在使用 ng-change
来检测变化。在其中我只是记录了 resultShow
的值,我可以看到它正在获取选定的选项值。
这是因为如果模型的 viewValue 与 select 的选项中存在的值之一不匹配,select 将添加一个默认选项。
resultShow = 25
的 viewValue 是数字数据类型的 25。
目前select可以绑定到字符串数据类型的值。因此存在不匹配。为了使其工作,我们需要将 resultShow 的 viewValue 设置为 25,数据类型为字符串
ng-init ="resultShow = '25'"
将填充 select 下拉列表。但是数据类型会改变。
作为解决方法,请在您的控制器中尝试 $scope.resultShow = 25。这将解决问题。
此外,select 将在解析 viewValue 后自动删除添加的空选项。
我有一个 select 有 4 个选项。该值在 ng-init
上设置,并且只能由用户从那时起更改。我所有的初始函数都接受 ng-init
设置的值并更改值有效,但未显示 selected 值。
<select name="resultShow" class="result-show" ng-init="resultShow=25" ng-change="updateProd(resultShow,prodState,prodType,prodStyle,prodBrand,keywords)" ng-model="resultShow">
<option value="25">25</option>
<option value="50">50</option>
<option value="75">75</option>
<option value="100">100</option>
</select>
检查这个功能。我正在使用 ng-change
来检测变化。在其中我只是记录了 resultShow
的值,我可以看到它正在获取选定的选项值。
这是因为如果模型的 viewValue 与 select 的选项中存在的值之一不匹配,select 将添加一个默认选项。
resultShow = 25
的 viewValue 是数字数据类型的 25。
目前select可以绑定到字符串数据类型的值。因此存在不匹配。为了使其工作,我们需要将 resultShow 的 viewValue 设置为 25,数据类型为字符串
ng-init ="resultShow = '25'"
将填充 select 下拉列表。但是数据类型会改变。
作为解决方法,请在您的控制器中尝试 $scope.resultShow = 25。这将解决问题。
此外,select 将在解析 viewValue 后自动删除添加的空选项。