Lier case à cocher ou multi-sélectionnez le menu déroulant de tableau dans AngularJS?
Je suis nouveau sur AngularJS, et je suis donc confus que sur la façon de lier les cases à cocher ou de sélectionner plusieurs listes déroulantes à une liste séparée.
<body ng-controller="FooListCtrl">
<span ng-repeat="foolist in foos">
<select ng-model="selected" ng-options="foo for foo in foolist" multiple="">
</select>
</span>
</body>
'use strict';
function FooListCtrl($scope) {
$scope.foos = {"Bar": [ "foo", "bar"]};
$scope.selected = [];
}
FooListCtrl.$inject = ['$scope'];
Exécuter le code: http://jsfiddle.net/gBcN2/
OriginalL'auteur Foo Stack | 2013-05-20
Vous devez vous connecter pour publier un commentaire.
Si j'ai eu droit ce que vous voulez:
ng-app
définition.No wrap - in <head>
le mode de charge, si vous êtes en utilisant AngularJS en tant que ressource externe.selected
a sa propre "gamme", car vous utilisezng-repeat
. Pour voir ce que je veux dire, ici, est fixé version de votre code:http://jsfiddle.net/gBcN2/2/
Première
{{selected}}
fonctionne très bien, mais la deuxième est "en dehors" deng-repeat
portée.PS:
Vous n'avez pas à utiliser
ng-repeat
si vous voulez l'utiliser comme vous l'avez écrit dans votre exemple: rapide de violon de la façon dont je le ferais.Edit:
Pour les cases à cocher, c'est quelque chose comme ça - http://jsfiddle.net/qQg8u/2/
Bien sûr, vérifiez edit de ce post.
Merci, c'est bien; mais est-il celui qui ne veut pas modifier la source JSON (avec
checked: false
valeurs)?Je ne suis pas vraiment sûr, mais je pense qu'il y a obtenu d'être un "stockage" au lieu de quelque sorte de vérifier si la case est cochée ou pas (désolé pour la tautologie :)). Si vous ne souhaitez pas changer de JSON contenu de cette
optionSource
vous pouvez utiliser d'autres variables, comme ça: jsfiddle.net/qQg8u/5 de Cette façon, les options de source sera intact.Pour info: j'Ai un travail qui me donne un tableau de cases cochées: jsfiddle.net/C7eRd/1
OriginalL'auteur the-lay