Sultan
Sultan

Reputation: 143

drop-down not getting selected with the selected value in angular js

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

Answers (2)

Hassan Tariq
Hassan Tariq

Reputation: 740

Try this

     $scope.Language =  parseInt($scope.LanguageDDLList[0].ID+"");

Upvotes: 1

Danscho
Danscho

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

Related Questions