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 : 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>
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
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.