Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 15h38   #1
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
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
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 16h22   #2
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
Code :
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 16h50   #3
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
Merci pour ta réponse.
J'ai testé , et cela ne fonctionne pas.
Voici mon code.
Code :
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 !
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 16h53   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 16h56   #5
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
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

Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h05   #6
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 786
Points : 35 786
Citation:
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 !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, 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
Bovino est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h10   #7
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
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 !?
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h14   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 078
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 078
Points : 45 213
Points : 45 213
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
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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h22   #9
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
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 ?
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h27   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 078
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 078
Points : 45 213
Points : 45 213
pour schematiser, php n'est qu'une machine a écrire le code html

le but est d'obtenir le code html suivant :

Code :
<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 :
<option value="machin" <?php if ($varphp=="machin"){ echo "selected";} ?> > option machin </option>
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h39   #11
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
J'ai mis ceci dans la ligne qui génère les options de mon select.
Code :
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 ?
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 17h47   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 078
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 078
Points : 45 213
Points : 45 213
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 :
1
2
3
echo '<option id="marque" value="'.$ligne[0].'" ';
if($ligne[0] == $fabchoisi){ echo "selected";}
echo'>'.$ligne[1].'</option>';
ou
Code :
echo '<option id="marque" value="'.$ligne[0].'" '.(($ligne[0] == $fabchoisi)?"selected":"").'>'.$ligne[1].'</option>';
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 21h27   #13
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
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 :
'.(($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
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2012, 09h50   #14
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 078
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 078
Points : 45 213
Points : 45 213
Dans ta ligne de code ...
Code :
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 :
(condition)? si oui : si non
Code :
(($ligne[0] == $fabchoisi)?"selected":"")
donc en cas d'égalité avec la variable cela retourne selected sinon cela ne retourne rien
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 12h15   #15
Candidat au titre de Membre du Club
 
Femme
Inscription : janvier 2012
Messages : 29
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : janvier 2012
Messages : 29
Points : 12
Points : 12
Merci beaucoup, cela fonctionne très bien
Neewd est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h00.


 
 
 
 
Partenaires

Hébergement Web