AngularJS 根据预定义的值更改 SELECT 列表中的选定选项

Posted

技术标签:

【中文标题】AngularJS 根据预定义的值更改 SELECT 列表中的选定选项【英文标题】:AngularJS changing the selected OPTION in a SELECT list based on a predefined value 【发布时间】:2016-02-11 11:47:56 【问题描述】:

我有一个通过 ng-repeater 呈现的选择列表,并且在更改时它会将所选选项的值触发到一个按预期工作的函数中。

我现在遇到的问题是,如果页面加载了特定的选项,请求我如何确保选择选项被突出显示。

我有它,所以作为选择值的 GUID 会自动触发到函数以获取所选项目的页面数据,以便解决问题是突出显示选择列表中的所选项目以向用户显示其与该选择相关。

我的代码在下面,但您会看到我将它绑定到传递 GUID 值的 ng-model="asCtrl.accSelected"。我的假设是,当请求预定义的 GUID 时,我可以将 vm.accSelected 设置为等于 GUID 值,并且由于 2 路绑定应该在选择列表上显示选择,但这似乎并非如此。

<div data-ng-controller="tpAccStatusCtrl as asCtrl">
  <select class="form-control" ng-model="asCtrl.accSelected" ng-change="asCtrl.retrieveAccount(asCtrl.accSelected)">
   <option value="select" selected="selected">Select an Account</option>
   <option ng-repeat="acc in asCtrl.accounts" value="acc.UniqueIdentifier">acc.AccountName</option>
  </select>
</div>

我希望以上内容有意义,有人可以告诉我如何确保选择列表反映为 vm.accSelected 设置的值

【问题讨论】:

试试这个解决方案***.com/questions/35336364/… 【参考方案1】:

在页面加载时手动调用 asCtrl.retrieveAccount(asCtrl.accSelected) 函数。如果我没记错的话,ng-change 只会在值被输入改变时触发。

【讨论】:

以上是关于AngularJS 根据预定义的值更改 SELECT 列表中的选定选项的主要内容,如果未能解决你的问题,请参考以下文章

更改 AngularJS 属性会更改 HTML 属性的值

更改由AngularJs从Chrome内容脚本动态创建的包装选择的值

angularjs怎样更改子作用域的值

如何根据从外部传递的更改值动态更改自定义小部件中成员的值

拖动项目AngularJS JQuery-UI时更改变量中的值

如何根据Angularjs中的背景颜色自动更改文本颜色? [复制]