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 :

ng-change s'appelle sans choisir une option dans un select input


Sujet :

AngularJS

  1. #1
    Membre éclairé
    Homme Profil pro
    étudiant
    Inscrit en
    Septembre 2011
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 342
    Par défaut ng-change s'appelle sans choisir une option dans un select input
    Bonjour,

    j'ai une liste des produits,dans un select input,je veux que lorsque je choisis une des options de cette select,la méthode "duplicateGammeProduit" s'appelle, et l'ID selectionné s'envoie,mais d'après le console je constate que cette méthode s'exécute même j'ai pas choisi aucune option,svp comment je peux résoudre ce problème,car ça ralenti l’exécution de l'application.
    voici mon code:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <select ng-model="produitId" ng-change="duplicateGammeProduit(produitId)">
            <option ng-repeat="pi in listProduitUsed" value="{{pi.id}}">{{pi.reference}}</option>
        </select>

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    .controller(
            'GammeCtrl', [
                '$scope',
                '$http',
     
                function($scope, $http) {
     
        $scope.duplicateGammeProduit = function(produitId) {
          $http.get(MyURL:" +produitId).success(
               function(gammeProduit) {                                     
              //the method to be called when an option is selected          
          $scope.classifierListElementGamme(gammeProduit.listElementGamme);
               gammeProduit.id = null
               $scope.gammeCourante.tempsTotal = gammeProduit.tempsTotal;
               $scope.gammeCourante.nbOperation = gammeProduit.nbOperation;                                 
               angular.forEach(gammeProduit.listElementGamme,
                     function(elementGamme, key){
                       elementGamme.id = null;
                    });
     
                $scope.finalOperationsList = gammeProduit.listElementGamme;
                $scope.formToSave.finalOperationsList = $scope.finalOperationsList;
              });
           }
     
      $scope.listeProduitUsed = function() {
                    $http
                        .get(URL/getProduitListUsed")
                        .success(
                            function(dataProduit) {
     
                                $scope.listProduitUsed = dataProduit;
                            });}
          $scope.listeProduitUsed();
     
    }]);
    merci pour l'aide

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    sans préjuger du reste du code et à la vue de la coloration syntaxique du code, il semblerait que tu ais un soucis avec les ouverture/fermeture des guillemets.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Salut, tu veux dire que ta fonction $http se lance à intervalles régulières ?

    Curieux mais moi aussi je suis sur un problème de ce type en ce moment.
    Normalement, ta fonction $http ne devrait pas se lancer plusieurs fois tant que le ng-change n'a pas été déclenchée par l'action de l'utilisateur, je suis tout à fait d'accord.

    Dans ta console, est ce que tu peux confirmer que ta fonction $http se lance a intervalles régulières ?

    Dans ce cas, il doit être possible d'y remédier, quelque chose me dit que l'on peut agir sur cela avec .then ou .success (les 2 sont possibles) mais je n'ai pas fait de recherches. (Le callback..)

    il faut faire une recherche en Anglais sur la raison pour laquelle la requête ajax $http se lance à intervalles régulières.

Discussions similaires

  1. desactiver une option dans un select
    Par humanzam dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/11/2008, 14h35
  2. Changer graisse d'une option dans un select et dans IE
    Par mioux dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/12/2007, 10h24
  3. Masquer une option dans un select
    Par pythéas dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/11/2007, 16h14
  4. Selectionner une option dans un select
    Par sir_gcc dans le forum Struts 1
    Réponses: 3
    Dernier message: 24/05/2007, 22h55
  5. Selectionner une option dans un select
    Par _beber85 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/04/2006, 16h48

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