Angularjs Options du menu déroulant pour afficher l'élément sélectionné
Ce que je veux faire ici, c'est quand l'utilisateur reçoit dans l'application de la selectedLocal est déjà la valeur de l'ID de 184 et Nom Un Nom au lieu du nom par défaut.
Toute aide est appréciée.
J'ai le script suivant:
function MyCtrl($scope) {
$scope.User = [{
ID: 109,
Name: 'A Name'
}, {
ID: 161,
Name: 'B Name'
}, {
ID: 184,
Name: 'C Name'
}];
$scope.selectedLocal = [{ID: 184,Name: 'A Name'}]
}
et le code html suivant:
<div ng-app ng-controller="MyCtrl">
<div>{{selectedLocal}}</div>
<select ng-model="selectedLocal" ng-options="item.Name for item in User" ng-change="localSelectChange()">
<option value="">Default</option>
</select>
</div>
voici le js fiddle LIEN
grâce
Vous devez vous connecter pour publier un commentaire.
Vous devez comprendre que
ng-options
compare les valeurs de l'option avec lang-model
valeur par référence. Que signifie qu'à un certain stade, il ya uneboucle qui compare
$scope.User[i] === $scope.selectedLocal
oùi
est une valeur entre 0 et$scope.User.length
.Donc vous devez initialiser
$scope.selectedLocal
avec une référence de$scope.User
.Dans votre cas, ce serait
$scope.selectedLocal = $scope.User[2];
.Ou vous pourriez faire ceci:
ng-options="item.ID as item.Name for item in User"
et
$scope.selectedLocal = 184;
En fonction du contexte, une solution pourrait être préférée à l'autre.