Raffraichir une liste en fonction d'une autre

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

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.