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 25/02/2011, 16h55   #1
Membre régulier
 
Avatar de lou87
 
Inscription : février 2006
Messages : 348
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : février 2006
Messages : 348
Points : 79
Points : 79
Par défaut fonction pour un arrière plan de liste déroulante

Bonsoir,

J'ai récemment créé (avec de l'aide) une fonction en javascript qui devrait permettre de garder la couleur d'arrière plan d'une liste déroulante lorsqu'on sélectionne un élément.

Par exemple je sélectionne "Problème" ayant pour arrière plan la couleur orange, dans ma liste déroulante, et quand ce dernier est sélectionné il faut qu'il garde la couleur d'arrière plan, autrement dit orange..... (cela sous firefox car sous IE ça fonctionne).

Mais là j'avance....... maintenant à pas de fourmi, et j'aimerais un petit coup de pouce.

Voici la fonction en javascript :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function test (val) 
{
/**nameListe = document.Form.listeStatut.name;
alert (nameListe);**/
 
    if (val == "OK")
    {
    document.Form.getElementsByTagName("listeStatut")[0].selected = true;
    document.Form.getElementsByTagName("listeStatut")[0].style.backgroundColor = "#090";
    }
 
    else if(val == "PB")
    {
    document.Form.couleurQ.options[1].selected = true;
    document.Form.couleurQ.options[1].style.backgroundColor = "#F60";
    }
 
    else if(val == "NONOK")
    {
    document.Form.couleurQ.options[2].selected = true;
    document.Form.couleurQ.options[2].style.backgroundColor = "#C00";
    }
}
Et j'aimerais pouvoir utiliser cette fonction sur plusieurs listes déroulantes.

J'avais commencé d'où la première partie différente des autres.

En vous remerciant.

Bonne soirée.
__________________
Programmer c'est comme gravir une montagne...
Il faut procéder par étapes...
(? auteur ?)
Un seul être vous manque et tout est dépeuplé.
Lamartine (merci chat hotplug ^^)
lou87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 17h06   #2
Rédacteur/Modérateur
 
Avatar de andry.aime
 
Homme Andry Aimé
Inscription : septembre 2007
Messages : 5 126
Détails du profil
Informations personnelles :
Nom : Homme Andry Aimé
Localisation : Ile Maurice

Informations forums :
Inscription : septembre 2007
Messages : 5 126
Points : 7 270
Points : 7 270
Bonsoir,

ça existe une balise "listeStatut" qui a un attribut selected

A+.
andry.aime est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 17h07   #3
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 761
Points : 5 761
Par défaut Un seul hêtre vous manque et tout est peuplier (J.R.)

Bonjour,

Dans la première partie, c'était sûrement getElementsByName. Bien vu Andry. Dans ce cas-là, vous cherchez les éléments qui ont le nom "listeStatut" et vous agissez sur le premier élément trouvé.

Vous agissez sur une liste.


Dans la seconde partie, vous allez directement sur la liste "couleurQ" et vous prenez sa seconde option (indice 1) ou sa troisième option (indice 2).

Vous agissez sur une option de la liste.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 17h13   #4
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 007
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 007
Points : 45 091
Points : 45 091
autant laisser tomber la balise select et prendre quelque chose de plus paramétrable du style plugin jquery voire ui
__________________
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 déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2011, 19h14   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 932
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 932
Points : 4 752
Points : 4 752
tout ça me parle, un post un peu équivalent Mettre une option en gras
NoSmoking est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 11h14   #6
Membre régulier
 
Avatar de lou87
 
Inscription : février 2006
Messages : 348
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : février 2006
Messages : 348
Points : 79
Points : 79
Bonjour,

Je vous remercie pour vos réponses.

Cependant ma fonction à l'origine ressemblait à ça :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function test (val) 
{
    if (val == "OK")
    {
    document.FormEtude.couleurQ.options[0].selected = true;
    document.FormEtude.couleurQ.options[0].style.backgroundColor = "#090";
    }
 
    else if(val == "PB")
    {
    document.FormEtude.couleurQ.options[1].selected = true;
    document.FormEtude.couleurQ.options[1].style.backgroundColor = "#F60";
    }
 
    else if(val == "NONOK")
    {
    document.FormEtude.couleurQ.options[2].selected = true;
    document.FormEtude.couleurQ.options[2].style.backgroundColor = "#C00";
    }
}
Et mon code HTML à ça :
Code :
1
2
3
4
5
<select size="1" id = "listeStatut" name="couleurQ">
		<option value = "OK" class="o-1" style="background-color:#090;">OK</option>
	        <option value = "PB" class="o0" style="background-color:#F60;">Problème</option>
		<option value = "NONOK" class="o1" style="background-color:#C00;">NON OK</option>
							</select>
Et le but de ma fonction ainsi que de ma liste déroulante est que lorsque l'on sélectionne un élément de la liste déroulante, l'élément garde sa couleur d'arrière plan.

(Ma liste déroulante fonctionne comme je le veux sous IE mais pas sous firefox d'où ma fonction)

Et le début de la fonction que je vous avait montré la dernière fois était pour pouvoir utiliser cette même fonction pour mes trois listes déroulantes.
Je leur ai donné comme identifiant à mes liste déroulantes "listeStatut" donc j'aurais dû mieux utiliser un "getElementsById" au lieu qu'un "getElementsByName", car le nom de mes trois liste déroulantes sont couleurQ, couleurC, couleurD.

En espérant avoir été un peu plus explicite sur ce que j'ai et ce que je voudrais.

En vous remerciant.

P.S : Je n'y connais rien en JQuery....
Les seuls langages utilisés pour ce développement là sont le javascript et le HTML ainsi que l'ASP....
__________________
Programmer c'est comme gravir une montagne...
Il faut procéder par étapes...
(? auteur ?)
Un seul être vous manque et tout est dépeuplé.
Lamartine (merci chat hotplug ^^)
lou87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2011, 14h39   #7
Membre régulier
 
Avatar de lou87
 
Inscription : février 2006
Messages : 348
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : février 2006
Messages : 348
Points : 79
Points : 79
Bonjour,

Finalement un collègue m'a aidé, donc mon problème est résolu.

Merci de m'avoir aidé.

Bonne journée.
__________________
Programmer c'est comme gravir une montagne...
Il faut procéder par étapes...
(? auteur ?)
Un seul être vous manque et tout est dépeuplé.
Lamartine (merci chat hotplug ^^)
lou87 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 17h04.


 
 
 
 
Partenaires

Hébergement Web