【发布时间】:2015-04-09 18:06:37
【问题描述】:
我正在尝试在选择下拉列表中预先选择一个选项,如果选项的值是静态的,我知道该怎么做。但是如果它们动态变化呢?就我而言,我得到了一个更新很多的专辑列表,所以我永远不知道这些选项的价值是什么。我尝试使用ng-init 选择列表中的第一张专辑,如下所示:
<select class="rounded bold" ng-model="selectedAlbum" ng-init="selectedAlbum='album[0].albumName'">
<option ng-repeat="album in albumsList" value="{{album.albumName}}" ng-bind="album.albumName">
</select>
但是没有运气,从我的搜索中我真的找不到任何可以回答这个问题的东西。它可能是ng-options,但据我所知,它不会生成带有绑定的选项。就像我在上面的代码中所做的那样。
我将如何实现这一目标?
【问题讨论】:
-
使用
ng-options,然后设置model -
仅供您注意。在您的 ng-init 指令中,您引用了错误的变量。它必须是 albumList[0] 而不是
-
@tymeJV 知道为什么:ng-options="opt as opt.albumName for albumList in album",不起作用吗?
-
@Chrillewoodz,因为您可以互换使用
opt和album。你想要opt as opt.albumName for opt in albumList,或者album as album.albumName for album in albumList;但是,这与甚至不包括opt as...相同,因为您只是将其设置为完整对象。如果需要,可以使用它,例如,opt.id as opt.albumName for opt in albumList -
@Tom 不幸的是,这两者都不起作用。它必须是“album asalbum.albumName”,因为我在原始代码中使用“album.albumName”作为绑定,对吧?跨度>
标签: javascript angularjs select option