Liste déroulante AngularJS
- Page précédente Tableaux AngularJS
- Page suivante SQL AngularJS
AngularJS vous permet de créer des listes déroulantes basées sur les éléments d'un tableau ou d'un objet.
Créer une liste déroulante avec ng-options
Si vous souhaitez créer une liste déroulante basée sur un objet ou un tableau dans AngularJS, vous devriez utiliser ng-options
Commande :
Exemple
<div ng-app="myApp" ng-controller="myCtrl"> <select ng-model="selectedName" ng-options="x for x in names"> </select> </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.names = ["Emil", "Tobias", "Linus"]; }); </script>
ng-options avec ng-repeat
Vous pouvez également utiliser ng-repeat
Commande pour créer la même liste déroulante :
Exemple
<select> <option ng-repeat="x in names">{{x}}</option> </select>
En raison de ng-repeat
La commande répète un segment de code HTML pour chaque élément d'un tableau, donc elle peut être utilisée pour créer des options dans les listes déroulantes, mais ng-options
La commande est spécialement conçue pour remplir les options des listes déroulantes.
Quelle commande devriez-vous utiliser ?
Vous pouvez utiliser ng-repeat
Commande et ng-options
Commande :
Assumons que vous avez un tableau d'objets :
$scope.cars = [ {model : "Ford Mustang", color : "red"}, {model : "Fiat 500", color : "white"}, {model : "Volvo XC90", color : "black"} ;
Exemple
Utiliser ng-repeat
:
<select ng-model="selectedCar"> <option ng-repeat="x in cars" value="{{x.model}}">{{x.model}}</option> </select> <h1Vous avez sélectionné : {{selectedCar}}</h1>
Lorsque vous utilisez une valeur en tant qu'objet, utilisez ng-value
Par value
:
Exemple
Remplace ng-repeat
Utilisé en tant que :
<select ng-model="selectedCar"> <option ng-repeat="x in cars" ng-value="{{x}}">{{x.model}}</option> </select> <h1Vous avez sélectionné un {{selectedCar.color}} {{selectedCar.model}}</h1>
Exemple
Utiliser ng-options
:
<select ng-model="selectedCar" ng-options="x.model for x in cars"> </select> <h1Vous avez sélectionné : {{selectedCar.model}}</h1> <pSa couleur est : {{selectedCar.color}}</p>
Lorsque la valeur sélectionnée est un objet, il peut contenir plus d'informations et votre application peut être plus flexible.
Nous allons utiliser dans ce tutoriel ng-options
Directive.
En tant que source de données de l'objet
Dans l'exemple précédent, la source de données est un tableau, mais nous pouvons également utiliser un objet.
Assumons que vous avez un objet avec des paires clé-valeur :
$scope.cars = { car01 : "Ford", car02 : "Fiat", car03 : "Volvo" };
ng-options
L'expression de l'attribut pour l'objet est légèrement différente :
Exemple
Utiliser un objet en tant que source de données,x
Représente la clé,y
Représente la valeur :
<select ng-model="selectedCar" ng-options="x for (x, y) in cars"> </select> <h1Vous avez sélectionné : {{selectedCar}}</h1>
La valeur sélectionnée sera toujours dans la paire clé-valeurValeur.
Dans la paire clé-valeurValeurPeut être également un objet :
Exemple
La valeur sélectionnée restera toujours dans la paire clé-valeurValeur,cette fois, c'est un objet :
$scope.cars = { car01 : {brand : "Ford", model : "Mustang", color : "red"}, car02 : {brand : "Fiat", model : "500", color : "white"}, car03 : {brand : "Volvo", model : "XC90", color : "black"} };
Les options de la liste déroulante ne doivent pas être des paires clé-valeurClé,elle peut également être une valeur, ou une propriété d'un objet de valeur :
Exemple
<select ng-model="selectedCar" ng-options="y.brand for (x, y) in cars"> </select>
- Page précédente Tableaux AngularJS
- Page suivante SQL AngularJS