Bonjour,
J'ai un soucis avec un group de radio button et AngularJS : je n'arrive pas à récupérer ma valeur dans mon controller.
Je vois bien la valeur changer dans la page, mais quand je clic sur mon bouton, dans ma fonction je n'ai pas de valeur.
Voici le code html:
pollSelect est le ID de ma réponse. quand je change de réponse, je vois bien sur ma derniere div que ça change
Voici le controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <form ng-submit="doVote()"> <div class="item item-divider">{{lePoll.name}}</div> <label class="item item-radio" ng-repeat="rep in lePoll.answers"> <input type="radio" name="group{{lePoll.id}}" ng-model="$parent.pollSelect" ng-value="{{rep.id}}"> <div class="item-content"> {{rep.name}} </div> <i class="radio-icon ion-checkmark"></i> </label> <div class="padding"> <button class="button button-block button-positive" type="submit">Vote!</button> </div> </form> <div class="item item-divider">{{pollSelect}}</div>
Dans ma fonction doVote() la valeur de $scope.pollSelect est vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 .controller('onePollCtrl', function($scope, storeService, $stateParams) { console.log('onePollCtrl '); // on nettoie 'ID parce que par défaut il laisse les ":" devant var idPropre = $stateParams.pollID.replace(/:/, ''); $scope.pollID = idPropre; // on recupere les poll enregistrer pour trouver le bon var lesPolls = storeService.findById('polls'); for (var poll in lesPolls){ if(lesPolls[poll].id == idPropre){ $scope.lePoll = lesPolls[poll]; } } $scope.pollSelect = ''; console.log('vote '+$scope.pollSelect); $scope.doVote = function(){ console.log('vote '+$scope.pollSelect); // ici c'est vide console.log('pollID '+$scope.pollID); alert('vote!'); }; })
Une idée du problème ? Merci de votre aide.
Partager