我正在使用AngularJS(1.5)并尝试创建一个选择下拉列表,可以在选中时显示不同的文本与下拉选项中显示的
选项示例{id:1,名称:'文字',已选择:'已选中'}
鉴于上面的示例,如何在打开下拉列表时显示name属性,但选择了该选项后的selected属性?
答案 0 :(得分:1)
您可以选择几种angularjs下拉菜单。如果您要使用ng-repeat
路由,那么如果您有一个像您的示例一样构造的对象数组,那么这将有效:
<select ng-model="selectedItem">
<option ng-repeat="item in items" value="item.selected"> {{item.name}} </option>
</select>
这会在下拉菜单中显示“名称”,但由于value = item.selected,它会将“已选择”值分配给您的ng-model
。
或者,你可以为选择做ng-options
,这样的事情会起作用:
<select ng-model="selectedItem"
ng-options="item.selected as item.name for item in items">
</select>
这也是一样的,但是ng-options
往往允许更多的灵活性,因为你可以将整个对象分配给你的模型而不仅仅像ng-repeat
这样的字符串只允许,加上角度声明它更快。
希望这会有所帮助。有关详细信息,请参阅此处https://docs.angularjs.org/api/ng/directive/select