begin process at 2012 05 28 12:57:35
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > CHOIX DIFFÉRENTS DANS UN MENU SELECT EN FONCTION D'UN AUTRE MENU SELECT

CHOIX DIFFÉRENTS DANS UN MENU SELECT EN FONCTION D'UN AUTRE MENU SELECT


 Information sur la source

Note :
8,4 / 10 - par 5 personnes
8,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Formulaire Niveau :Débutant Date de création :14/06/2005 Date de mise à jour :15/06/2005 09:25:32 Vu :6 663

Auteur : hippyz

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

On choisit une option dans un premier menu et dans le second il nous affiche différentes options selon le choix.

Petite précision, entiérement compatible avec Firefox.

Source

  • <!-- par HippyZ -- C'est un menu déroulant tout simple,
  • on choisit dans le premier une catégorie et il nous retourne dans le second différentes options. Il n'y a aucun rafraîchissement !!!-->
  • <html>
  • <head>
  • <title>Menu Déroulant</title>
  • <script language="JavaScript">
  • function trierMenuProduit(form,list,typeCategorie) // Création de la fonction qui va écrire les différentes options dans le second menu déroulant en fonction du choix effectué.
  • { // Dans cette fonction on rabat le nom du formulaire , le nom du menu "select" et la "value" du choix que l'on a effectué.
  • list.options.length=0;// La remise à 0 des options du menu déroulant est trés importante autrement il "rajoutera" à chaque choix différent de nouvelles options.
  • // ici on commence les tests d'égalité avec la "value" retournée qui porte le nom de"typeCategorie".
  • if (typeCategorie == "composants")
  • {
  • choix=new Option("Séléctionnez un produit");// on crée une variable "choix" dans laquelle on va mettre une nouvelle option.
  • form.produit.options[form.produit.options.length]=choix;// ensuite on atteint le second menu déroulant que l'on va indexer avec notre nouvelle option "choix".
  • choix=new Option("Processeurs","processeurs");// Attention lors de la création de notre nouvelle option,
  • form.produit.options[form.produit.options.length]=choix;// ce que l'on écrit en premier es le texte que va afficher notre menu déroulant,
  • // le second est la "value" que celui-ci retournera. Et ainsi de suite.
  • choix=new Option("Cartes mères","meres");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Ventilateurs processeurs","ventilateurs proc");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Mémoires","memoires");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Cartes vidéo","video");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Cartes son","son");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Lecteurs de disquettes ","lecteurs");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Disques durs","disques");
  • form.produit.options[form.produit.options.length]=choix;
  • }
  • else if (typeCategorie == "boitiers")
  • {
  • choix=new Option("Séléctionnez un produit");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Alimentations","alimentations");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Boîtiers","boitiers");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Ventilateurs","ventilateurs");
  • form.produit.options[form.produit.options.length]=choix;
  • }
  • else if (typeCategorie == "graveurs")
  • {
  • choix=new Option("Séléctionnez un produit");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Lecteurs CD et DVD","DVD");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Graveurs CD et DVD","CDetDVD");
  • form.produit.options[form.produit.options.length]=choix;
  • }
  • else if (typeCategorie == "peripheriques")
  • {
  • choix=new Option("Séléctionnez un produit");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Réseaux","reseaux");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Ecrans","ecrans");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Claviers","claviers");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Souris","Souris");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Casques & Enceintes","casques");
  • form.produit.options[form.produit.options.length]=choix;
  • }
  • else if (typeCategorie == "consommables")
  • {
  • choix=new Option("Séléctionnez un produit");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("CD & DVD","cdvierge");
  • form.produit.options[form.produit.options.length]=choix;
  • }
  • else if (typeCategorie == "logiciels")
  • {
  • choix=new Option("Séléctionnez un produit");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Systémes d'exploitations","os");
  • form.produit.options[form.produit.options.length]=choix;
  • choix=new Option("Bureautique","bureautique");
  • form.produit.options[form.produit.options.length]=choix;
  • }
  • }
  • </script>
  • </head>
  • <body topmargin="0" leftmargin="0">
  • <form name="catalogue">
  • <table border="0" cellspacing="0" cellpadding="5" width="950" align="center" >
  • <tr>
  • <td align="right" bgcolor="#aacc7f" width="100">
  • <p>Catégorie</p>
  • </td>
  • <td align="left" bgcolor="#aacc7f" width="150">
  • <select name="categorie" onChange="trierMenuProduit(this.form,this.form.produit,this.value)"><!-- Appel de notre fonction avec toutes les infos (nom de formulaire, nom du second menu déroulant et la value). -->
  • <option>Sélectionnez</option>
  • <option value="composants">Composants</option>
  • <option value="boitiers">Boîtiers</option>
  • <option value="graveurs">Lecteurs et graveurs</option>
  • <option value="peripheriques">Périphériques</option>
  • <option value="consommables">Consommables</option>
  • <option value="logiciels">Logiciels</option>
  • </select>
  • </td>
  • <td align="right" bgcolor="#aacc7f"width="100">
  • <p>Produit</p>
  • </td>
  • <td align="left" bgcolor="#aacc7f">
  • <select name="produit" onChange="alert('Variable retournée : '+this.value)"><!-- Ici une simple "alert" qui retourne la value de notre choix. -->
  • <option>Sélectionnez une catégorie</option>
  • </select>
  • </td>
  • </tr>
  • </table>
  • </form>
  • </body>
  • </html>
<!-- par HippyZ -- C'est un menu déroulant tout simple, 
on choisit dans le premier une catégorie et il nous retourne dans le second différentes options. Il n'y a aucun rafraîchissement !!!-->
<html>
<head>
<title>Menu Déroulant</title>

<script language="JavaScript">

function trierMenuProduit(form,list,typeCategorie) // Création de la fonction qui va écrire les différentes options dans le second menu déroulant en fonction du choix effectué.
{													// Dans cette fonction on rabat le nom du formulaire , le nom du menu "select" et la "value" du choix que l'on a effectué.
	list.options.length=0;// La remise à 0 des options du menu déroulant est trés importante autrement il "rajoutera" à chaque choix différent de nouvelles options.
	// ici on commence les tests d'égalité avec la "value" retournée qui porte le nom de"typeCategorie".
	if (typeCategorie == "composants") 
	{
		choix=new Option("Séléctionnez un produit");// on crée une variable "choix" dans laquelle on va mettre une nouvelle option.
		form.produit.options[form.produit.options.length]=choix;// ensuite on atteint le second menu déroulant que l'on va indexer avec notre nouvelle option "choix".
																
		choix=new Option("Processeurs","processeurs");// Attention lors de la création de notre nouvelle option,
		form.produit.options[form.produit.options.length]=choix;// ce que l'on écrit en premier es le texte que va afficher notre menu déroulant,
																// le second est la "value" que celui-ci retournera. Et ainsi de suite.
		choix=new Option("Cartes mères","meres");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Ventilateurs processeurs","ventilateurs proc");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Mémoires","memoires");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Cartes vidéo","video");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Cartes son","son");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Lecteurs de disquettes ","lecteurs");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Disques durs","disques");
		form.produit.options[form.produit.options.length]=choix;

	}
	
	else if (typeCategorie == "boitiers")
	{
		choix=new Option("Séléctionnez un produit");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Alimentations","alimentations");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Boîtiers","boitiers");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Ventilateurs","ventilateurs");
		form.produit.options[form.produit.options.length]=choix;
	}
	
	else if (typeCategorie == "graveurs")
	{
		choix=new Option("Séléctionnez un produit");
		form.produit.options[form.produit.options.length]=choix;
				
		choix=new Option("Lecteurs CD et DVD","DVD");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Graveurs CD et DVD","CDetDVD");
		form.produit.options[form.produit.options.length]=choix;
	}
	
	else if (typeCategorie == "peripheriques")
	{
		choix=new Option("Séléctionnez un produit");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Réseaux","reseaux");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Ecrans","ecrans");
		form.produit.options[form.produit.options.length]=choix;
				
		choix=new Option("Claviers","claviers");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Souris","Souris");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Casques & Enceintes","casques");
		form.produit.options[form.produit.options.length]=choix;
	}
	
	else if (typeCategorie == "consommables")
	{
		choix=new Option("Séléctionnez un produit");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("CD & DVD","cdvierge");
		form.produit.options[form.produit.options.length]=choix;
		
	}
	
	else if (typeCategorie == "logiciels")
	{
		choix=new Option("Séléctionnez un produit");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Systémes d'exploitations","os");
		form.produit.options[form.produit.options.length]=choix;
		
		choix=new Option("Bureautique","bureautique");
		form.produit.options[form.produit.options.length]=choix;
		
	}
}

</script>
</head>
<body topmargin="0" leftmargin="0">
<form name="catalogue">
<table border="0" cellspacing="0" cellpadding="5" width="950" align="center" > 
	<tr>
		<td align="right" bgcolor="#aacc7f" width="100">
			<p>Catégorie</p>
		</td>
		<td align="left" bgcolor="#aacc7f" width="150">
			<select name="categorie" onChange="trierMenuProduit(this.form,this.form.produit,this.value)"><!-- Appel de notre fonction avec toutes les infos (nom de formulaire, nom du second menu déroulant et la value). -->
			<option>Sélectionnez</option>
			<option value="composants">Composants</option>
			<option value="boitiers">Boîtiers</option>
			<option value="graveurs">Lecteurs et graveurs</option>
			<option value="peripheriques">Périphériques</option>
			<option value="consommables">Consommables</option>
			<option value="logiciels">Logiciels</option>
			</select>
		</td>
		<td align="right" bgcolor="#aacc7f"width="100">
			<p>Produit</p>
		</td>
		<td align="left" bgcolor="#aacc7f">
			<select name="produit" onChange="alert('Variable retournée : '+this.value)"><!-- Ici une simple "alert" qui retourne la value de notre choix. -->
			<option>Sélectionnez une catégorie</option>
			</select>	
		</td>
	</tr>
</table>
</form>
</body>
</html>



 Historique

15 juin 2005 09:25:32 :
Petite modif

 Sources du même auteur

VOUS INDIQUE LE NOMBRE DE CARACTÈRES QU'IL VOUS RESTE À RENT...
PETITE FONCTION POUR FAIRE CLIGNOTER DU TEXTE
HOLOGE EN TEMPS RÉEL
CALCULATRICE SCIENTIFIQUE

 Sources de la même categorie

Source avec Zip Source avec une capture FORMULAIRE TABLEAU par vic511
Source avec Zip Source avec une capture FORMULAIRE DYNAMIQUE par Niidhogg
Source avec Zip Source avec une capture CONTRAINTE DE SAISIE SUR CHAMPS INPUT par ryosama
SELECTS DÉPENDANTS PRÉ-CHARGÉS D'UNE SEULE OPTION par phm
Source avec Zip Source avec une capture BOITE DE DIALOGUE MODALE DE SÉLECTION D'UNE LISTE D'ICONES par JJDai

Commentaires et avis

Commentaire de darkman2 le 15/06/2005 08:39:42

ton script est tres simple tu t'es basé sur des choix multiples, a chaque fois qu'on choisi un catégorie,
bref c'est simple
moi j'aurai bien aimé qu'il soit compatible avec mozilla ou firefox
mais part ca, c'est bien joué
bonne continuation

Commentaire de Romain128 le 15/06/2005 13:18:39

Euh, ca marche sous Moz/FF, darkman2.
Sinon c'est simple, et ca pourrat en aider certains.

Commentaire de Farfadam le 25/07/2005 20:48:50

Bonjour,
après plusieurs recherches sur le web, je semble enfin avoir trouvé ce que je voulais... juste une petite chose : un fois avoir cliqué sur une des catégories il faut ensuite cliquer sur un produit (jusque là pas de problème), en fait au lieu que ça m'ouvre une "fenêtre" je voudrais que ça me renvoi vers un lien...

Comment faire ????
D'avance merci

FARFADAM

Commentaire de borami le 26/10/2005 14:41:25

Bonjour, je cherche une fonction comme celle-ci mais avec des valeurs issuent d'une base de données MYSQL pour les deux menus déroulant. Est-ce que c'est faisable?

Commentaire de nulard007 le 19/11/2005 13:38:26

salut tout l'monde, j'viens enfin d'trouver mon bonheur ;) merci bcp... il est super l'code. Et pour t'a question Borami, bah, ouais c'est c'que j'fais.. mais j'avais du mal avec le javascript...
si jamais t'as un souci explique moi ton code et ton pb j'essayerai d't'aider...
++

Commentaire de cybervore le 27/02/2006 20:29:59

Peux tu m'envoyer un zip stp : mon adresse : cybervore@tiscali.fr merci!

Commentaire de KaiHo le 03/08/2010 14:48:35

Zut alors !

Il n'y a pas longtemps que je me suis mis au javascript, et avec ce genre de script, c'est véritablement facile. Adaptable, compatible avec FF, que du bonheur !

Merci beaucoup !

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales