IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Ma variable n'est pas mis à jour dans mon controller


Sujet :

AngularJS

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut 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 : 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.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    Et en faisant ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form ng-submit="doVote(rep)">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $scope.doVote = function(rep){
            console.log('vote '+ rep); // ici c'est vide
            console.log('pollID '+$scope.pollID);
            alert('vote!');
        };
    ??

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut
    Merci de ta réponse.
    En fait il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form ng-submit="doVote(pollSelect)">
    Et là ça marche !
    Merci !

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2012
    Messages : 40
    Points : 29
    Points
    29
    Par défaut
    effectivement je t'ai dit le ng-value au lieu du ng-model....my bad u_u

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/10/2010, 17h43
  2. Base de données SDF qui n'est pas mis à jour
    Par foujino dans le forum C#
    Réponses: 2
    Dernier message: 30/12/2009, 22h00
  3. Graphique n'est pas mis à jour. Bug microsoft
    Par mathieu7497 dans le forum Excel
    Réponses: 3
    Dernier message: 20/03/2008, 18h58
  4. Combobox pas mis à jour dans datagrid
    Par TCW78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 03/03/2008, 22h35
  5. [ADO.NET]Apparament mon delete n'est pas mis à jour.Quoi que?
    Par lrx94 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/12/2006, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo