Raffraichir une liste en fonction d'une autre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 610 fois - Téléchargée 28 fois

Contenu du snippet

Ceci illustre la façon de raffraichir un champ de type liste déroulante en fonction d'une autre.

exemple, soit une premiere liste de rubriques et une seconde dépendante de la premiere :

Source / Exemple :


<cfquery name="qclassification" datasource="GSB">
SELECT f_rubriques.F_CLASSIFICATION, f_rubriques.FR_LIBELLE FROM f_rubriques WHERE 0 = 0
<cfif isdefined("form.rubrique")>
  and left(f_rubriques.F_CLASSIFICATION,2) = #form.rubrique# 
</cfif>
ORDER BY f_rubriques.FR_LIBELLE 
</cfquery>

<!-- ------------------------------------------------------------------
<cfform action="" method="post" name="frubrique">
   <select name="rubrique" id="rubrique" onChange="document.forms[0].submit()">
       <option selected>Choisissez une rubrique</option>
       <option value="01">Musique</option>
       <option value="02">Agences </option>
       <option value="03">Artistes</option>
       <option value="04">Cinema</option>
   </select>
</cfform> 

<cfform action="resultat.cfm?#client.URLToken#" method="post" name="f_resultat" target="_self" onsubmit="pageLoad_onsubmit()"> 
<b>Classification</b></td>
<td width="32%">
<select name="classification" id="classification">
       <cfoutput query="qclassification"> 
       <option value="#qclassification.F_CLASSIFICATION#">#qclassification.FR_LIBELLE#</option>
       </cfoutput> 
</select>
</td>
...

Conclusion :


L'astuce réside dans le "onChange="document.forms[0].submit()" qui permet de re-soumettre la page
et réactualiser l'affichage. Form(x) : x prend la valeur du cfform en commençant à 0.

Chris

A voir également

Ajouter un commentaire Commentaires
Messages postés
54
Date d'inscription
dimanche 22 septembre 2002
Statut
Membre
Dernière intervention
22 avril 2011

Bonjour, comment faire pour récupérer la valeur de "rubrique" à la page suivante ?

Dans mon cas, la 1ère listbox provient d'un query et crée la liste des pays.

En fonction du pays choisi, si le pays = Belgique, il affiche une listbox contenant les provinces sinon, il n'affiche pas la listbox.

Merci d'avance pour votre aide, Christophe
Messages postés
59
Date d'inscription
mardi 8 janvier 2002
Statut
Membre
Dernière intervention
12 décembre 2003

c'est super pratique, surtout quand on a 3 listes qui doivent être mises à jour en cascade.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.