AngularJS - Sélectionnez la valeur retourne “? nombre:x ?” à partir de portée variable
Essayer d'obtenir la valeur initiale pour sélectionner l'élément et au lieu de remplissage de la valeur, il ajoute une étrange chaîne comme le montre cette image:
Voici le code JavaScript:
function appCtrl($scope){
$scope.teams = [
{teamId: 10, teamName: 'Foo'},
{teamId: 20, teamName: 'Bar'},
{teamId: 30, teamName: 'Steve'},
{teamId: 40, teamName: 'Jobs'},
{teamId: 50, teamName: 'Macs'}
];
$scope.filters = {
teamIdSelected: 20
};
}
Voici le code HTML:
<div ng-app ng-controller="appCtrl">
<select class="small" ng-model="filters.teamIdSelected">
<option ng-repeat="team in teams" value="{{team.teamId}}">{{team.teamName}}</option>
</select>
Ici est un jsbin à démontrer: http://jsbin.com/EKOpAFI/1/edit
J'ai aussi essayé d'utiliser le incroyablement mal documenté sélectionner l'élément ici mais je n'arrive pas à travailler de cette façon là où mon teamId est la valeur et la teamName est l'étiquette. Il veut toujours mettre l'index du tableau comme valeur.
Toute aide serait grandement appréciée.
OriginalL'auteur Scotty Bollinger | 2013-09-13
Vous devez vous connecter pour publier un commentaire.
select
directive est vraiment un peu dur à analyser. Voici comment cela fonctionne en conjonction avecng-options
directive (ce qui est étonnamment puissant!)Ne pas se confondre avec les valeurs générées dans les DOM lors de l'inspection de l'sélectionne des options avec les outils de dev. Le
value
attribut obtient toujours son index. La touche correspondante de paires de valeurs obtenez toujours évalué par rapport à la portée, de sorte que tous vous avez besoin est de mettre à jour ng-model".Espérons que cette aide!
Merci beaucoup 🙂
OriginalL'auteur Pascal Precht
Je recommande l'utilisation de ng-options sur l'élément select au lieu de cela, comme ceci:
En outre, si vous souhaitez inclure un "Team" option:
OriginalL'auteur kmdsax
C'est ce que vous voulez:
Ne pas utiliser
ng-repeat
avec<option>
s.OriginalL'auteur Nikos Paraskevopoulos