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