Soyez le premier à donner votre avis sur cette source.
Snippet vu 26 134 fois - Téléchargée 29 fois
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Astuce Option Selected</title> </head> <body> <!--- Petite astuce pour faciliter la sélection dans une liste déroulante avec la fonction IIf ---> <!--- Methode un peu plus lourde à gérer en passant par une query puis son intégration dans un tableau ---> <!--- mais permet d'éviter les problèmes d'imbrication de cfoutput query---> <cfset ClientModif="PRECI"> <!--- Affectation de valeur pour démo - Ce client réside en France ---> <!-- ************ --> <!-- * Queries * --> <!-- ************ --> <cfquery name="QClients" datasource="DevisDES" dbtype="ODBC"> SELECT *, ClientID FROM Clients WHERE (ClientID = '#ClientModif#') </cfquery> <cfquery name="QCodePays" datasource="DevisDES" dbtype="ODBC"> SELECT CodePays <!--- CodePays contient les codes pays (ex: FR pour la france) de la table Pays ---> FROM Pays <!--- Table Pays de DevisDES ---> ORDER BY CodePays </cfquery> <!-- ************* --> <!-- * Tableaux * --> <!-- ************* --> <cfset LCodePays = arraynew(1)> <cfset i=0> <cfoutput query="QCodePays"> <cfset i=i+1> <cfset LCodePays[i] ="#CodePays#"> </cfoutput> <cfform action="ModifRecordset.cfm" method="POST" enablecab="Yes"> <cfoutput query="QClients"> <!--- autres champs du masque ---> CodePays:<br> <select name="FCodePays"> <cfloop index="j" from="1" to="#Arraylen(LCodePays)#"> <option value="#LCodePays[j]#" #IIf("#CodePays#" is "#LCodePays[j]#", de("selected"),de(""))#>#LCodePays[j]#</option> </cfloop> </select> <!--- autres champs du masque + bouton---> </cfoutput> </cfform> </body> </html>
21 août 2002 à 15:07
Cedric
31 janv. 2002 à 08:48
Je pense que le code IIF peut être simplifié :
IIF (CodePays EQ LCodePays[j],DE("selected"),DE(""))
si je me trompe faites le moi savoir.
Pour infos :
La fonction IIF etant très rapide, pour imposer les valeurs de retour à ce test il est nécessaire d'utiliser la fonction DE :
(doc cf : DE prevents evaluation of a string as an expression when it is passed as an argument to IIf or Evaluate. )
4 oct. 2001 à 16:05
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.