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 :

Modifier la valeur affichée d'une liste déroulante


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut Modifier la valeur affichée d'une liste déroulante
    Bonjour,

    Après avoir cherché sur le net et sur le forum je n'ai pas trouvé de réponse à ma question.
    Je cherche à changer la valeur affichée "par défaut" d'une liste déroulante, par exemple sur le clic d'un bouton.
    Cela revient à modifier la valeur affichée d'une liste déroulante sans y toucher.

    Par exemple, une liste déroulante qui contient des chiffres de 1 à 10 ,avec 10 boutons (de 1 à 10) , et selon le bouton sur le quel on clique, la liste déroulante affiche le chiffre.
    Cependant je veux garder mes 9 autres chiffres dans la liste déroulante.

    J'ai bidouillé, j'ai trouvé des document."monform"."monchamp".value, mais rien n'y fait.

    Merci d'avance, je désespère

  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 : 54
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('monSelect').selectedIndex = 2;
    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 confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Merci pour ta réponse.
    J'ai testé , et cela ne fonctionne pas.
    Voici mon code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script> document.getElementById('marque').selectedIndex = $fabchoisi;</script>";
    'marque' correspond à l'id (et aussi au name) de la liste déroulante qui est chargée avec la BDD et qui contient comme seul enregistrement (pour la phase de test) 'ASUS'.
    La variable PHP $fabchoisi est égal à : 'ASUS' (on l'a bien testé avec un alert()) et elle est défini avant l'appel du code JS.

    Merci de ton aide !

  4. #4
    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 : 54
    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
    Ben oui, mais JavaScript et PHP, c'est pas vraiment pareil
    Ta variable PHP n'existe pas dans le navigateur...

    Tu pourrais montrer le code HTML généré
    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

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Oui oui, ça je le sais que c'est pas pareil et que c'est pas traité du même côté ^^'
    Comment pouvoir changer la valeur affichée de ma liste , par celle qui correspond à ma variable PHP dans ce cas là ?


    EDIT : Je t'ai pastebiné (ce verbe existe ? ) le code , vu qu'il fait 3XX lignes.
    http://pastebin.com/rMeiVj79

    La liste déroulante s'effectue à la toute fin du code ci-dessus, et la ligne de code, au début


  6. #6
    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 : 54
    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
    Tu pourrais montrer le code HTML généré


    En tout cas, une chose est sure : ta ligne apparait dans la page avant le select, donc effectivement, vouloir affecter le value d'un select qui n'existe pas, ça marche moins bien !
    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

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Je viens de te donner le code en pastebin, a moins que ce ne soit pas ça

    Oui, mais il y'a un rechargement de page donc au premier load du formulaire il ne le fait pas (vu qu'il ne rentre pas dans la condition) mais au rechargement de la page le formulaire existe , non ?

    Comment faire dans ces cas là pour changer la valeur affichée par la liste déroulante au re-chargement de la page !?

  8. #8
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    soit tu le fait en amont (en php) en attribuant un selected à l'option voulue en focntion d'eun teste php

    soit tu passes de php à javascript une valeur, celle du selectedIndex et tu l'attribues sur le onload comme le propose Beef ...
    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 !

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Je ne vois pas comment faire la première solution ? Pour changer le selected en .php ...

    La deuxième solution consiste à déclarer une variable JS qui prendra $fabchoisi, et de réitérer ?

  10. #10
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    pour schematiser, php n'est qu'une machine a écrire le code html

    le but est d'obtenir le code html suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="machin" selected > option machin </option>
    A toi de demander à php de rédiger ce code en fonction par exemple d'un test sur une variable php ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="machin" <?php if ($varphp=="machin"){ echo "selected";} ?> > option machin </option>
    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 !

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    J'ai mis ceci dans la ligne qui génère les options de mon select.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option id='marque' value=$ligne[0] if($ligne[0] == $fabchoisi) {selected}>$ligne[1]</option>";
    Mais cela ne fonctionne pas, y a-t-il un problème ?

  12. #12
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    oui ... ton niveau de connaissance de html et de php
    les attributs doivent etre entre quotes
    un conseil: utilises les ' pour des echos php, les variables php ne sont plus interprétées dans une chaine mais au moins tu te perdras moins dans les quotes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<option id="marque" value="'.$ligne[0].'" ';
    if($ligne[0] == $fabchoisi){ echo "selected";}
    echo'>'.$ligne[1].'</option>';
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<option id="marque" value="'.$ligne[0].'" '.(($ligne[0] == $fabchoisi)?"selected":"").'>'.$ligne[1].'</option>';
    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 !

  13. #13
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Ben ne voyant aucune erreur apparente, j'ai laissé le code comme tel.

    Mais je vais essayer de m'en souvenir pour la prochaine fois.

    Cependant, est-ce que tu pourrais m'expliquer ce bout de code que tu as mis, car c'est tout nouveau, et si jamais un jour j'ai besoin de le ré-utiliser, j'aimerais au moins comprendre ce que je vais écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '.(($ligne[0] == $fabchoisi)?"selected":"").'
    Les points, et simple quote au début et fin ne me dérange pas, mais le point d'interrogation et le :"" , ce serait pour indiquer un true ou ?

    Merci

  14. #14
    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 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 658
    Billets dans le blog
    1
    Par défaut
    Dans ta ligne de code ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option id='marque' value=$ligne[0] if($ligne[0] == $fabchoisi) {selected}>$ligne[1]</option>";
    le if() n'est pas interprété comme du php , c'est juste un string ...
    il te suffisait de regarder le code html généré (affichage source) pour t'en rendre compte


    pour la syntaxe avec le ?
    c'est un opérateur de comparaison ternaire


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (condition)? si oui : si non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (($ligne[0] == $fabchoisi)?"selected":"")
    donc en cas d'égalité avec la variable cela retourne selected sinon cela ne retourne rien
    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 !

  15. #15
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2012
    Messages : 133
    Par défaut
    Merci beaucoup, cela fonctionne très bien

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

Discussions similaires

  1. [AC-2007] Prendre la valeur affichée d'une liste déroulante
    Par CrasherSEP dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/11/2010, 14h29
  2. [WD-2003] Afficher une valeur fct d'une Liste déroulante
    Par Yad64 dans le forum Word
    Réponses: 2
    Dernier message: 23/09/2009, 21h18
  3. conserver la valeur selectionnée d'une liste déroulante affichée
    Par med_alpa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 28/10/2008, 14h13
  4. Afficher la valeur choisie d'une liste déroulante dans une textbox
    Par bouchette63 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/06/2006, 14h26
  5. Récupération de la valeur visible d'une Liste déroulante
    Par Yaz dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 26/10/2004, 12h01

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