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 :

Prépositionner un liste déroulante


Sujet :

jQuery

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut Prépositionner un liste déroulante
    Bonjour.

    J'ai un formulaire et un tableau sur une même page Web.

    Avec jQuery lorsque je clique sur une des lignes du tableau, le formulaire se remplit avec les valeurs de la ligne du tableau sélectionnée.

    J'ai un problème avec la liste déroulante présente dans le formulaire, comment faire pour qu'elle soit prépositionnée sur la valeur du tableau ?

    Formulaire :
    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
     
    <form id="idform" name="formulaire" method="post" action="./BDD/reqCRUD.php?action=C&sortiesB=O">
     
    <!--Menu Deroulant des parcours-->
    			<label>Itinéraire bis : </label> 
    			<label id="liste" ><?php $tableParcours='parcoursBis'; require_once ('/../BDD/liste.php');?></label> 
     
    			<label>Associé à la sortie : </label> 					
    <!--Menu Deroulant des sorties	associées à leurs dates -->
    			<label id="assocSort" ><?php requeteSQLsorties("sorties");?></label> 
     
    		<div class="3intmax">
    			<label>Temps : </label>
     
    			<input name="hh_bis" type="text" id="hh" class="W30px" > 
    			<label>HH </label>
    			<input name="mm_bis" type="text" id="mm" class="W30px"> 
    			<label>MM </label>
    			<input name="ss_bis" type="text" id="ss" class="W30px"> 
    			<label>SS </label>
    		</div>
     
    			<label>Moyenne : </label>
    			<input name="moyenne_bis" type="text" id="moyenne" ></td>
     
    			<label>Passage : </label>
    			<input name="passage_bis" type="text" id="passage_bis" class="W30px">
     
    			<label>Commentaires : </label>
    				<textarea name="com_bis" type="textarea" id="com_bis" ></textarea> 
     
    		<div align="center">
    			<input type="submit" name="Submit" value="Envoyer">
    		</div>
    </form>
    Tableau :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <div >
    		<?php require_once '/../BDD/reqAfficheSortiesBis.php'; //Fabrication de la requête SELECT?>
    </div>
    liste.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    echo '<SELECT name="nom">';
     
    	while($data = mysqli_fetch_array($resultat))
    	{
    		echo '<option value="'.$data[$id].'-'.$data[$itineraire].'" >'.$data[$itineraire].'</option>';
    	}
     
    echo "</SELECT>";
    Ce que renvoie requeteSQLsorties("sorties") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    echo '<SELECT name="sortie">';
     
        while($data = mysqli_fetch_array($resultat))
        {
    		echo '<option value="'.$data[$id].'">'.$data[$date].' : '.$data[$parcours].' </option>';
        }
     
    echo "</SELECT>";
    Et le 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
     
    var id = $(this).attr('data-id');
    var seconde = $(this).attr('data-SS');
    var heure = $(this).attr('data-HH');
    var minute = $(this).attr('data-MM');
     
    var pbis = $(this).attr('data-liste');	
     
    //début sorties bis
    $(pbis).attr("value","selected");  
    $('#liste option[value="+pbis+"]').prop('selected', true);
     
    $(hh).attr("value",heure); 
    $(mm).attr("value",minute);				
    $(ss).attr("value",seconde);
    Avec cette partie qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var pbis = $(this).attr('data-liste');	
     
    //début sorties bis
    $(pbis).attr("value","selected");  
    $('#liste option[value="+pbis+"]').prop('selected', true);
    Merci de votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    J'ai modifié liste.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo '<option id="'.$data[$itineraire].'" value="'.$data[$id].'-'.$data[$itineraire].'" >'.$data[$itineraire].'</option>';
    et le js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var pbis = $(this).attr('data-liste');
    ...
    $("#"+pbis).attr('selected','selected');
    Je dois me rapprocher mais cela ne fonctionne que pour une valeur de la liste.
    Dans Firebug/HTML j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <label id="liste">
    <select id="listePB" name="nom">
    <option id="COTE 00" value="14-COTE 00">COTE 00</option>
    <option id="COTE 1" value="5-COTE 1">COTE 1</option>
    <option id="COTE 2" value="6-COTE 2">COTE 2</option>
    <option id="COTE 2" value="7-COTE 2">COTE 2</option>
    <option id="Coudon" value="3-Coudon">Coudon</option>
    <option id="Faron" value="1-Faron" selected="selected">Faron</option>
    <option id="Mt Caume" value="2-Mt Caume">Mt Caume</option>
    <option id="qqq" value="4-qqq">qqq</option>
    </select>
    </label>
    Et en cliquant sur id="Mt Caume" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <label id="liste">
    <select id="listePB" name="nom">
    <option id="COTE 00" value="14-COTE 00">COTE 00</option>
    <option id="COTE 1" value="5-COTE 1">COTE 1</option>
    <option id="COTE 2" value="6-COTE 2">COTE 2</option>
    <option id="COTE 2" value="7-COTE 2">COTE 2</option>
    <option id="Coudon" value="3-Coudon">Coudon</option>
    <option id="Faron" value="1-Faron">Faron</option>
    <option id="Mt Caume" value="2-Mt Caume">Mt Caume</option>
    <option id="qqq" value="4-qqq">qqq</option>
    </select>
    </label>
    J'ai des probleme avec mon DOM, je pense.
    Merci de votre aide.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    Après de multiples tentatives, je n'y arrive toujours pas.
    Est ce quelqu'un peux m'aider à bien utiliser jquery pour qu'au click sur un champ, il prépositionne une liste déroulante (select>option) de mon formulaire sur la bonne ligne.
    Merci de votre aide.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    plusieurs remarques ...

    un id doit être unique sur une page ...
    un id sur une option est inutile ...

    il suffit d'attribuer le value au select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#listePD").val("6-COTE 2")
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Merci de me redonner une piste.
    J'ai enlevé les id des option mais pour je n'arrive toujours pas à sélectionner ce que je veux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var id = $(this).attr('data-id');
    var pbis = $(this).attr('data-liste');	
     
    $("#listePD").val(id+'-'+pbis) 
     
    console.log(id+'-'+pbis)//affiche bien la bonne valeur
    Par rapport au bout de code qui renvoie la liste déroulante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo '<SELECT name="nom" id="listePB">';
    while($data = mysqli_fetch_array($resultat))
    {
    echo '<option value="'.$data[$id].'-'.$data[$itineraire].'" >'.$data[$itineraire].'</option>';
    }
    echo "</SELECT>";

  6. #6
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Je ne comprends pas.
    je l'ai pris par tous les côtés je n'y arrive pas.

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    j'ai un peu de mal à comprendre ce que tu cherches à faire !
    - après sélection dans le SELECT #1
    - sélectionner l'enregistrement correspondant dans le SELECT #2

    si c'est cela je vois mal la finalité car dans le SELECT #2 on peut toujours faire une autre sélection !?!

  8. #8
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    Je vais essayer d'être plus clair.
    Si ce n'ai pas le cas n'hésites pas à me le dire.
    Je recommencerai demain.
    Mon SELECT m'affiche un tableau issu d'une BDD avec une jointure.
    Sur cette même page web (fichier php-html), j'ai un formulaire qui me sert à enregistrer de nouvelles valeurs.
    Lorsque je clique sur une des lignes du tableau, le formulaire se "transforme" en formulaire de modification :
    les champs du formulaires sont pré-remplis par les valeurs existantes dans le tableau et peuvent ainsi être modifiés avant de valider le formulaire.
    J'ai un soucis avec le champ de ce formulaire qui est un menu déroulant et que je veux voir positionné sur la valeur du tableau.

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Dans l'exemple suivant il y a bien modification de l'option sélectionnée ...
    https://fiddle.jshell.net/7jd8tnoj/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Super.
    Ca marche.
    Merci de ta patience.
    J'ai recommencer sur tes bases.
    Je ne sais pas quel grain de sable j'avais oublé.

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

Discussions similaires

  1. liste déroulante "prépositionnée"
    Par 69Pierre dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/07/2015, 10h08
  2. liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 12
    Dernier message: 23/03/2004, 10h35
  3. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01
  4. liste déroulante en ASP vbscript
    Par leeloo076 dans le forum ASP
    Réponses: 9
    Dernier message: 17/03/2004, 16h42
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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