AngularJS ng-option get index

只愿长相守 提交于 2019-12-11 00:30:02

问题


I'm making a playlist option in the project I'm working on and I'm trying to get a dropdown for all the videos in the list.

which is easy

<select ng-options="vid.Id for vid in playList.Videos track by video.Id" ng-model="selected" class="browser-default"></select>

but this shows a drop down of the Id's, but now I want it to show the position in the list +1;

So when playing video 5/15 the drop down should show 1 to 15 (so not 0 to 14) and 5 should be selected.

any idea on how to accomplish this?


回答1:


If you want to display index of the current video as option text, then this ngOptions expression should do the trick:

ng-options="vid as playList.Videos.indexOf(vid)+1 for vid in playList.Videos track by video.Id"

The key here is that you can use indexOf method on Videos array to calculate current video index, and then add 1.




回答2:


You can track by the index of the array. $index is set to the item index or key.

<select ng-options="vid as ($index + 1) for vid in playList.Videos track by $index" ng-model="selected" class="browser-default"></select>


来源:https://stackoverflow.com/questions/28849069/angularjs-ng-option-get-index

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!