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 :

Lister les checkboxes cochées


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Lister les checkboxes cochées
    Bonjour a tous!

    Voila je vous explique mon problème, j'ai un programme qui récupère des données (des numéros qui correspondent à des périodes (ex:BR 2476 (2015/01/24 - 2015/02/19) ) dans une base de donnée php my sql et qui les affichent toutes à l'écran sous forme de checkbox avec une boucle for. J'aimerai que lorsque l'utilisateur clique sur une ou plusieurs de ces checkbox, j'ai un ligne en bas de l'écran qui m'affiche chaque chexkbox cochées: en gros:
    "Vous avez choisies les numéros: BR 2476, BR 2478 et BR 2486" Si l'utilisateur à cochées les cases correspondantes à ces numéros.
    J'ai donc une fonction javascript qui marche avec un code php, mais uniquement si je l'insèrere dans la boucle for comme ceci (ligne 29 a 34):

    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
    37
    38
    39
    40
    41
    42
    43
    44
     
    <li><input class="check"  type="checkbox" id="c5" />
    <label class="year" for="c5">2015</label> (<span id="compteurAff2015">0</span> out of 5 selected.)
          <ul>
    		<div id="texte2015" class="texte">
    		  <h5>Select all (2015)<input onclick='CocheTout(this, 'Choix_.$i.');' type='checkbox'><br/></h5>
    <div class="texte_int">
     <?php 
     for($i = 0; $i<5; $i++) {
    	$resultat = $requete->fetch();
    	$part = $resultat['Begin_date'];
    	$date = DateTime::createFromFormat('Y-m-d', $part); //Les deux lignes servent à convertir la date du format Y-m-d au format Y/m/d
    	$part = $date->format('Y/m/d');
    	$endpart = $resultat['End_date'];
    	$enddate = DateTime::createFromFormat('Y-m-d', $endpart); //Les deux lignes servent à convertir la date du format Y-m-d au format Y/m/d
    	$endpart = $enddate->format('Y/m/d');
    	$brnumber = $resultat['BRnumber'];
    	$note = !empty($resultat['Note']) ? $resultat['Note'] : '';
     
    	echo"<input type='checkbox' id='Choix_".$i."' name='lenom[".$resultat['Particles_ID']."]'
    		 onClick='NoteOption(".$i.")' 
    		 value='BR ".$brnumber . "('".$part." - ".$endpart ."')' /> 
    		 BR " .$brnumber . " (" .$part ." - ". $endpart .") <br/>";
     
    	echo "<div id='comment_".$i."' style='display:none'> ";
    	echo $note;		 
    	echo "</div>"; 
     
    	?> <div class="SelectedFiles">
    	Selected Files: 
    	<?php
            echo "<div id='selectbr_".$i."' style='display:none'> ";
            echo $brnumber;          
            echo "</div>";
        
            ?> </div>
    	<?php} ?>
     
     
    </div> 
     
    	 </div>	 
              </ul>
          </li>
    et si je sors la <div class=selected files> de la boucle for, j'ai uniquement le dernier BR numero qui s'affiche...

    Auriez vous une solution à mon problème? Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu nous dis que ton code fonctionne, donc quel est le problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    De plus, point de Javascript dans le code fourni ...


    devYan.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    le problème avec ce code est que lorsque je clique sur une checkbox, etant donnée que la fonction est dans la boucle, chaque resultat s'affiche sous la case checkbox comme ceci (dans l'idée):

    x checkbox: resultat 1
    vous avez cochés: resultat 1
    checkbox: resultat 2

    x checkbox: resultat 3
    vous avez cochés: résultat 3
    checkbox: resultat 4

    Alors que ce que je souhaite avoir, c'est:

    x checkbox: resultat 1

    checkbox: resultat 2

    x checkbox: resultat 3

    checkbox: resultat 4

    vous avez cochés: resultat 1, résultat 3

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    le code javascript est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     function NoteOption(i){
       var choix = document.getElementById('Choix_'+i);
       var divC = document.getElementById('comment_'+i);
       var selectBr = document.getElementById('selectbr_'+i);
       if(choix.checked){
         divC.style.display = 'block';
    	 selectBr.style.display = 'block';
       } else {
         divC.style.display = 'none';
    	 selectBr.style.display = 'none';
       }
     
     }

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Donc en gros, pour l'instant tu as un texte fixe caché par checkbox que tu affiches lorsque tu coches la checkbox et que tu masques lorsque tu décoches la checkbox.
    Et ce que tu voudrais, c'est un seul texte qui résume tout ce qui est coché et que se met à jour dynamiquement à chaque fois que tu coches ou décoches une checkbox. C'est bien ça ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    déplace le texte qui affiche le résultat en dessous et regroupe les ?

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    oui celira c'est tout à fait ca, et rpass j'ai déjà essayé mais étant donné que c'est généré par une boucle for, si je sors le texte qui affiche le resultat en dehors de la boucle, cela m'affiche que le dernier resultat de la boucle...

  9. #9
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Points : 1 418
    Points
    1 418
    Par défaut
    Avant tout, il faut bien comprendre que la boucle dont tu parles est dans le code PHP de génération de ta page HTML.
    Tu peux donc parfaitement déplacer ta liste de DIVs pour chacune des valeurs des checkboxes ailleurs dans la page, il faudra par contre refaire une boucle for pour les ajouter dans ton HTML.

    Tu peux aussi n'avoir qu'un seul DIV d'affichage du résultat (en dehors de ta boucle PHP) qui sera destiné à recevoir la valeur.
    Dans cette seconde solution il faut que tu modifies le code JAVASCRIPT pour qu'il puisse reconstruire le texte de ta zone d'affichage lorsque tu cliques sur une case à cocher en fonction des toutes les cases cochées.


    devYan.

Discussions similaires

  1. [PHP 5.3] Récupérer les checkbox cochées dans une variable
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 01/06/2009, 12h25
  2. conserver les checkbox cochés
    Par I.Z.M.M dans le forum ASP.NET
    Réponses: 0
    Dernier message: 25/01/2009, 13h44
  3. Mémoriser les CheckBox cochés
    Par midotoon dans le forum ASP.NET
    Réponses: 7
    Dernier message: 27/10/2008, 10h15
  4. recuperer les checkbox cochés d'une arbre de checkbox
    Par 01211983 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 12/02/2008, 15h33
  5. Lister les checkbox cochés
    Par drizztoli dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/01/2008, 09h04

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