Pour être honnête, je ne vois pas comment ces valent mieux qu'une version corrigée de votre premier passage (ci-dessous)
<select id="grade" name="grade">
<option value="A"<cfif form.grade EQ "A"> selected </cfif> >A</option>
<option value="B"<cfif form.grade EQ "B"> selected </cfif> >B</option>
<option value="C"<cfif form.grade EQ "C"> selected </cfif> >C</option>
<option value="D"<cfif form.grade EQ "D"> selected </cfif> >D</option>
<option value="F"<cfif form.grade EQ "F"> selected </cfif> >F</option>
</select>
Il est simple, propre et compréhensible.
Si vous ressentez le besoin d'être plus léger et que vous allez faire beaucoup de manipulation de l'interface utilisateur, investissez un peu de temps dans jQuery. Étudiez les jQuery and CF Posts de Ray Camden et Javascript and CF Posts de Ben Nadel et bientôt ce sera une seconde nature ...
<script type="text/javascript">
jQuery(document).ready(function() {
$("#grade option[value='<CFOUTPUT>#FORM.Grade#</CFOUTPUT>']")
.attr('selected', 'selected');
});
</script>
<select id="grade" name="grade">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="F">F</option>
</select>
Bien sûr, il est farfelue à la recherche que certains des autres options ici, mais étonnamment puissant pour résoudre les problèmes que FC est tout simplement pas bon à la fois que vous l'apprendre (faites-moi confiance, il fera rapidement le sens et vous vous demanderez comment avez-vous déjà fait le code de l'interface utilisateur client sans cela). Apprenez l'une des bibliothèques JavaScript populaires et votre code client ColdFusion deviendra nettement plus élégant et puissant.
Hmm ... et quelle est la différence réelle entre ceci et les manières originales? :) – Sergii
Eugh! La différence est que l'original est juste répétitif, alors que c'est à la fois laid et mal nommé. –
Je pense que l'utilisateur cherchait une meilleure façon de faire le cfif à l'intérieur de la balise d'option, pas comment mettre les options dans une liste et faire une boucle à travers eux. Si vous avez mieux (ou juste d'autres façons) de faire le cfif alors je voudrais aussi les entendre. – Jason