Ma variable n'est pas mis à jour dans mon controller
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
Code:
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> |
Voici le controller :
Code:
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!');
};
}) |
Dans ma fonction doVote() la valeur de $scope.pollSelect est vide.
Une idée du problème ? Merci de votre aide.