2017-10-06 9 views
0

角度jでドロップダウンが作成されています。ドロップダウン値がデフォルト値に変更されない/

はコードの下に参照してください。

<select name="artist" class="form-control selectpicker" ng-options="artists.Title for artists in artists track by artists.Id" ng-model="artist.Title"> 
    <option value="">Select Artist</option> 
</select> 

ここで私はREST APIでバックエンドからartists値を取得しています。成功コールバックに入った後、別の関数、すなわちgetSongs()を呼び出して、選択したItem Valueを取得します。

var songIndex = $routeParams.index; 
EditFactory.getArtists().then(getArtistsSuccess, getArtistsFailed); 

function getArtistsSuccess(data) { 
    if (data.data.d.results.length > 0) { 
     $scope.artists = data.data.d.results; 
    } 
    ListFactory.getSongs().then(getSongsSuccess, getSongsFailed); 
} 

function getArtistsFailed(error) { 
    console.log("empty artists from server -- addController"); 
} 

function getSongsSuccess(data) { 

    var currentSongObj = data.data.d.results.filter(function(obj) { 
     return obj.ID == songIndex; 
    }); 

    $scope.listItems = data.data.d.results; 
    $scope.artist = currentSongObj[0].Artist; // need to update this value in view 

} 

function getSongsFailed(error) { 
    debugger; 
} 

ここでartistの値はドロップダウンに設定されていません。

下記のスクリーンショットを参照してください。

enter image description here

私は私が右の値を取得$scope.artist.Titleに警告します。私は間違っていることを見つけることができません。

..

おかげで私を提案してください。

答えて

0

あなたは多分とにかく、あなたはselectとして書くべき、タイプミス、あなたのコード内の多くのミスを持っている:

<select name="artist" class="form-control selectpicker" 
     ng-options="artist as artist.Title for artist in artists track by artist.Id" 
     ng-model="selectedArtist"> 
    <option value="">Select Artist</option> 
</select> 

selectedArtist

$scope.selectedArtist = { 
    Id:2 
}; 

Demo Fiddle

+0

おかげで多くのことをサーこれは機能しています。 –

関連する問題