在AngularyJs中,为什么我的ng模型值没有设置所选选项

In AngularyJs, why is my ng-model value not setting the selected option?

本文关键字:设置 选项 模型 AngularyJs 为什么 ng 我的      更新时间:2023-09-26

我有一个有4个选项的选择。该值在ng-init上设置,并且只能由用户从该点更改。我所有的初始函数都接受ng-init设置的值并更改值有效,但所选值未显示。

<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>

这是因为如果模型的 viewValue 与 select 选项中存在的值之一不匹配,select 将添加默认选项。

视图值 resultShow = 25 为 25,数据类型为 25。

目前选择可以绑定到数据类型字符串的值。因此存在不匹配。为了使它工作,我们需要使 viewValue of result显示为 25 与字符串数据类型

ng-init ="resultShow = '25'"

将填充"选择"下拉列表。但是数据类型将被更改。

作为解决方法,请尝试在控制器中尝试 $scope.resultShow = 25。这将解决问题。

此外,一旦解析了 viewValue,select 将自动删除添加的空选项。

检查此函数。我正在使用ng-change来检测更改。在其中,我只是记录resultShow的值,我可以看到它正在获取选定的选项值。

小提琴演示