You must specify currentGroup to populate the parameters inside the elements :
<select data-ng-model="currentItem" data-ng-options="item.Name for item in currentGroup.Items"></select>
You do not need $ scope.currentItems at all. So just update the last 2 lines inside the controller to:
$scope.currentItem = $scope.currentGroup.Items[0];
Now, to remove the empty option, use the super lightweight and lightweight ng-change :
<select data-ng-model="currentItem" data-ng-options="item.Name for item in currentGroup.Items" ng-change="groupChanged()"></select>
Define the appropriate change handler in the controller:
$scope.groupChanged = function(){ $scope.currentItem = $scope.currentGroup.Items[0]; }
source share