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

JavaScript Discussion :

Faire une somme des listes déroulantes


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Points : 21
    Points
    21
    Par défaut Faire une somme des listes déroulantes
    Bonjour,

    Je vous explique mon problème, sur un page il y a plusieurs liste déroulante de quantité nommé par ex : qtedect0, qtedect1, ..., qtefixe0, qtefixe1, ...

    Je voudrais faire la somme de ces liste mais je n'y arrive pas, comment puis faire cela ?

    Moi j'ai fait ça mais il doit y avoir une erreur, car si je lance deux fonction, la deuxieme ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function poste(i) {
    			var valeurInitiale = parseInt(document.getElementById('telfixeqte'+i).value);
    			document.getElementById('telfixeqte'+i).onchange = function (){
    				if ( document.getElementById('qteposte').value != 0 ) {
    				document.getElementById('qteposte').value = parseInt(document.getElementById('qteposte').value) - valeurInitiale + parseInt(document.getElementById('telfixeqte'+i).value);
    				} else {
    					document.getElementById('qteposte').value = parseInt(document.getElementById('qteposte').value) + parseInt(document.getElementById('telfixeqte'+i).value);
    				}
    			}
    		}
    merci

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2015
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2015
    Messages : 98
    Points : 184
    Points
    184
    Par défaut
    Bonjour,

    Qu'entends tu par ca ne marche pas ? Message d'erreur dans la console ? Pas le bon calcul ?

    Déjà j'ai l'impression que tu as un problème de porté des variables.
    Tu déclares valeurInitiale dans la fonction poste (donc portée limitée à cette fonction). Mais tu essaies de l'utiliser dans ta fonction anonyme du onchange.
    Idem pour i.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 35
    Points : 21
    Points
    21
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var x = 0;
    			//Calcul du nombre de poste fixe
    			for ( j = 0; j < parseInt(document.getElementById('nbfixe').value); j++ ) {
    					x += parseInt(document.getElementById('telfixeqte'+j).value);
    			}
    			//Calcul du nombre de poste dect
    			for ( j = 0; j < parseInt(document.getElementById('nbdect').value); j++ ) {
    					x += parseInt(document.getElementById('dectqte'+j).value);
    			}			
    			document.getElementById('qteposte').value = x;
    je m'en suis sortie comme ça

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

Discussions similaires

  1. [AC-2003] Faire la somme des valeurs contenus dans plusieurs listes déroulantes
    Par kavuza dans le forum VBA Access
    Réponses: 3
    Dernier message: 08/08/2012, 10h21
  2. Réponses: 15
    Dernier message: 21/05/2010, 00h36
  3. faire une somme des cellules d'une selection
    Par prisme7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/02/2008, 23h23
  4. Réponses: 9
    Dernier message: 18/02/2008, 11h25
  5. Réponses: 1
    Dernier message: 23/01/2007, 18h23

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