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

jQuery Discussion :

Each : Sortir le résultat de la boucle !


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Par défaut Each : Sortir le résultat de la boucle !
    Bonjour à tous,

    j'ai cherché dans le forum, mais je n'ai pas trouvé ma réponse.

    Voici ma question.

    J'ai ce code en Jquery, qui permet de récupérer la valeur de plusieurs checkbox se trouvant dans un boucle "while" en Php :

    Le code fonctionne très bien, mais j'aimerais sortir les valeurs pour que je puisses les envoyer en post via jquery !!

    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
    var datacheckbox = '';
    var DataChkString ='';
     
    $("input[type=checkbox]:checked").each( 
        function() { 
     
    	  var init_name ='';
    	  var init_value ='';
     
    	  var init_name = init_name.concat($(this).attr("name"));
    	  var init_value = init_value.concat($(this).attr("value"));
     
    	  var DataChkString = DataChkString.concat(+"&"+init_name+'='+init_value);
    	  var datacheckbox = DataChkString;
     
        } 
    );
     
    alert (DataChkString);

    j'aimerais dans le 'DataChkString' à la sortie un truc du grenre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lename=2&lename1=4=lename2=6
    J'y arrive très bien en php...mais je ne sais pas comment faire en javascript !

    Je suis sure que c'est tout con...mais je ne trouve pas !

    Merci de votre réponse
    JOHAAANNS

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Une déclaration de variable ne se fait qu'une seule fois !
    Dans ton code, tu as deux variables datacheckbox distinctes : une globale qui est déclarée avant la fonction et une locale à la fonction qui est déclarée à l'intérieur, mais ces variables ne sont pas les mêmes.

    Ensuite, tu sembles aimer écrire des lignes pour rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var init_name ='';
    var init_value ='';
    var init_name = init_name.concat($(this).attr("name"));
    var init_value = init_value.concat($(this).attr("value"));
    A quoi servent les deux premières déclarations ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var init_name = $(this).attr("name");
    var init_value = $(this).attr("value");
    ne te semble pas plus simple ???
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var datacheckbox = DataChkString;
    J'ai du mal à saisir le coté indispensable d'avoir deux variables pour la même valeur...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Par défaut
    Peut être me suis je mal expliqué !

    Voici mes checkbox dans une boucle PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
                                            mysql_select_db($database_CnxInit, $CnxInit);
                        $sql_AffInit = 'SELECT * FROM initiations ORDER BY init_id ASC';
                        $req_AffInit = mysql_query($sql_AffInit) or die('Erreur SQL !<br>'.$sql_AffInit.'<br>'.mysql_error());
                        
                        
                        while($dataAffInit = mysql_fetch_assoc($req_AffInit))
                        {
                                                    echo '<div id="init_checkbox"><input name="init_id-'.$dataAffInit['init_id'].'" id="init_id" type="checkbox" value="'.$dataAffInit['init_id'].'"/></div>
                                                              <div id="init_nom">'.$dataAffInit['init_nom'].'</div>';
                                            }
                                    ?>
    C'est 2 premières déclarations me servent à récupérer le "name" et le "value":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var init_name = $(this).attr("name"); /***me retourne init_id-1 ou init_id-2, etc... selon ce qui est coché*****/
    var init_value = $(this).attr("value"); /***Me retourne la valeur, l' ID *****/
    J'ai créé une 'alert' dans le each, cela me retourne selon ce qui est coché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    init_id-1=1
    init_id-3=3
    init_id-4=4
    Dans mon code 'js' je récupère les valeurs de mon formulaire (plus vaste avec nom, prénom, etc) et je les transmets :

    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
    var element = $(this);
     
     
    	var app_nom = $("#app_nom").val();
    	var app_prenom = $("#app_prenom").val();
    	var app_naissance = $("#app_naissance").val();
    	var app_fixe = $("#app_fixe").val();
    	var app_mobile = $("#app_mobile").val();
    	var app_mail = $("#app_mail").val();
    	var app_ville = $("#app_ville").val();
    	var app_quartier = $("#app_quartier").val();
    	var FormAjoutApp = $("#FormAjoutApp").val();
     
    	var dataString = 'app_nom='+ app_nom+
    					 '&app_prenom='+ app_prenom+ 
    					 '&app_naissance='+ app_naissance+ 
    					 '&app_fixe='+app_fixe+
    					 '&app_mobile='+app_mobile+
    					 '&app_mail='+app_mail+
    					 '&app_ville='+app_ville+
    					 '&app_quartier='+app_quartier+
    					 '&FormAjoutApp='+FormAjoutApp;
    Donc dans mon datastring je voulais transmettre la suite, les valeurs des checkbox checkés !!! Pour obtenir en gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    init_id-1=1&init_id-4=4&init_id-6=6

    Je ne sais pas si je suis plus clair !

    merci de ton aide en tout cas !!

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Par défaut
    Comme je le disais, je sais le faire en php !

    Voici un exemple simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $arr = array("un", "deux", "trois");
     
    $datastring='';
     
    foreach ($arr as $value) {
     
    	$datastring.= $value.'-';
     
    }
     
    echo '<br>';
    echo $datastring;
    ?>
    Mon $datastring hors de la boucle affiche :

    Mon $datastring est bein hors de la boucle, et je récupère toutes les valeurs passées dans le foreach en concaténant !!

    J'aimerais faire la meme chose mais en javascript/ajax !

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ouais, enfin là, il n'y a rien de vraiment compliqué...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var datacheckbox = '';
    var $this;
     
    $("input[type=checkbox]:checked").each( 
        function() { 
    	  $this = $(this);
     
    	  datacheckbox += "&"+$this.attr("name")+'='+$this.val(); 
        } 
    );
     
    alert (datacheckbox);
    EDIT : j'ai supprimé un var perturbateur qui trainait dans le callback de each()...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 6
    Par défaut
    Ha ouais...au lieu d'un "." c'est un '+' !

    Bein je testerais ca C'était tout c** !!! Désolé ! Merci bein

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/11/2007, 13h42
  2. Variable égal au résultat d'une boucle
    Par arnaudperfect dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2007, 17h23
  3. [MYSQL] sortir des résultats de plusieurs table en 1 fois
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 4
    Dernier message: 13/10/2005, 15h26
  4. Réponses: 4
    Dernier message: 01/10/2005, 13h37
  5. Sortir d'un progamme qui boucle ou qui refresh
    Par mikevador02 dans le forum C
    Réponses: 12
    Dernier message: 14/12/2002, 09h38

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