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 :

Somme champs Input


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    822
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 822
    Points : 49
    Points
    49
    Par défaut Somme champs Input
    Bonsoir à tous,

    je dispose de plusieurs champs input qui porte le même nom (name) + un [n°Id] (Exemple: <input name="mt[15]" value="1.5" >) et voudrais savoir si en jquery je pouvais faire la somme de l'ensemble des input (nommé mt[xx])

    les valeur Id dans les crochets ne se suivent pas, en gros je peux avoir mt[2] mt[5] mt[23] mt[30]

    merci d'avance pour vos explications, quelle fonction jquery je dois regarder pour arriver ?

    guigui69

  2. #2
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Bonsoir,

    Citation Envoyé par guigui69 Voir le message
    les valeur Id dans les crochets ne se suivent pas, en gros je peux avoir mt[2] mt[5] mt[23] mt[30]
    Tu es, je pense, au courant que qquand tu additionnes plusieurs nombres, peu importe l'ordre des nombres?

    Après, ici, c'est un forum Javascript. C'est-à-dire que si ce langage t'intéresse, il faut que tu fasses quelques efforts pour le comprendre et l'utiliser.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    822
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 822
    Points : 49
    Points
    49
    Par défaut
    Bonjour javatwister,

    quand je parle Id pas dans ordre c'est qu'il ne suivent pas ça ne fait jamais 1,2,3,4,5...... et c'est pour ça que demande un conseil (javascript ou jquery) pour comment récupérer les valeurs input avec ces numeros différents.

    Car je ne vois pas comment je pourrais faire une boucle comme les ID <input name="mt[id]" .... sont différent

    guigui69

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var sum = 0;
    $('input[name^="mt["]').each( function(){
       sum += parseFloat( $(this).val() );
    });
    console.log(sum);
    • [name^="mt["] : dont le name commence par "mt["
    • [name*="machin"] ou [name~="machin"] : dont le name contient "machin"
    • [name$="truc"] : dont le name se termine par "truc"

    Voir : CSS - Sélecteurs d'attribut
    Dernière modification par Invité ; 01/11/2019 à 09h17.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Bonjour,

    Et en Javascript

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    let tot=0;
    document.querySelectorAll("input[name^='mt[']").forEach( v => tot+=parseInt(v.value));
    console.log(tot);


    Mais tu peux aussi rationaliser ton groupe d'input en le plaçant dans un conteneur spécifique, en lui attribuant une classe, etc.

  6. #6
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    variante:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    const tot=Array.from(document.querySelectorAll("input[name^='mt[']")).reduce( (a,v) => {return a+Number(v.value)},0);
    console.log(tot)

Discussions similaires

  1. Somme de champs inputs automatique
    Par c3dric49000 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 26/06/2016, 11h53
  2. champs input bd et javascript
    Par snakab dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/04/2005, 15h12
  3. Champ input et href
    Par licorne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 21/03/2005, 16h53
  4. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 22h08
  5. Problème de contrôle de champ input texte
    Par NATHW dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2004, 22h48

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