Reputation: 143
I am using drop-down in ng-repeat in angular js,
and my HTML code is
<select class="form-control" ng-model="l.Language" ng-change="languageChange($index, l.Language)" ng-options="L.ID as L.LanguageDDL for L in LanguageDDLList track by L.ID" required></select>
And my controller is
function getLanguagesFromLookup() {
LanguagesService.getLanguagesfromLookup($scope.userId).success(function (data) {
var languagesListfromLookup = data.customtableitem[0]["Lookup"];
$scope.LanguageDDLList = [];
for (var i = 0; i < languagesListfromLookup.length; i++) {
var item = {
ID: languagesListfromLookup[i].ItemID,
LanguageDDL: languagesListfromLookup[i].Skill
}
$scope.LanguageDDLList.push(item);
}
}).error(function (data) {
$log.info("Error occured while getting Languages Dropdown.")
});
}
And to get the default value
$scope.Language = $scope.LanguageDDLList[0].ID
The problem i am facing here is I am getting the value i.e 1 in the model, but in the drop-down is not getting selected with the option that is having the Value as 1.
Can any one please suggest what would be the problem Attached reference Image Please click to see image
Upvotes: 2
Views: 696
Reputation: 740
Try this
$scope.Language = parseInt($scope.LanguageDDLList[0].ID+"");
Upvotes: 1
Reputation: 466
You are setting your ngModel to l.Language but set $scope.Language. That's why your dropdown is not selected.
<select class="form-control" ng-model="l.Language" ng-change="languageChange($index, l.Language)" ng-options="L.ID as L.LanguageDDL for L in LanguageDDLList track by L.ID" required></select>
Example plunk here
UPDATE: Extended plunk with a wrapping ng-repeat and removed track by L.ID because we are already selecting the ID.
Upvotes: 1