Velocimacro – Generate a HTML Select box and its Options
A quick and simple Velocimacro to generate HTML Select boxes and its Options; automatically selects the correct option based on the value given.
You can place this #macro anywhere in your Velocity templates but I used my global VM_global_library.vm file.
Code
CODE:
-
#macro( generateSelectBox $name $options $value )
-
<select name='$name' value='$value'>
-
#foreach ( $option in $options )
-
#set( $selected = "" )
-
#if ( $option == $value )
-
#set( $selected = "selected='true'" )
-
#end
-
<option value='$option' $selected>$option</option>
-
#end
-
</select>
-
#end
Example Usage
CODE:
-
#generateSelectBox( "enabled" ["Y","N"] $form.enabled )
The resulting HTML:
CODE:
-
<select name='enabled' value='N'>
-
<option value='Y'>Y</option>
-
<option value='N' selected='true'>N</option>
-
</select>
Addendum
11th November 2005 : Thanks to MATT for pointing out the FreeMarker template engine as a promising replacement for Velocity.
1 Comment so far
Leave a comment
But why use Velocity when you could use Freemarker?? ;-p
By Matt on 11.11.05 11:39
Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>