Skip to content

View Helpers

timeSelectTags()

timeSelectTags() — returns string

Available in: controller Category: Form Tag Functions

Builds and returns three <select> form controls for hours, minutes, and seconds based on the supplied name. This is the tag-based version of timeSelect(), meaning it does not bind to a model object but instead works with raw form field names. You can control the order of the selects, limit minute and second intervals, display in 12-hour format with AM/PM, and include custom labels, error handling, and HTML wrappers.

NameTypeRequiredDefaultDescription
namestringyesName to populate in tag’s name attribute.
selectedstringnoValue of option that should be selected by default.
orderstringnohour,minute,secondUse to change the order of or exclude time select tags.
separatorstringno:Use to change the character that is displayed between the time select tags.
minuteStepnumericno1Pass in 10 to only show minute 10, 20, 30, etc.
secondStepnumericno1Pass in 10 to only show seconds 10, 20, 30, etc.
includeBlankanynofalseWhether to include a blank option in the select form control. Pass true to include a blank line or a string that should represent what display text should appear for the empty value (for example, ”- Select One -”).
labelstringnoThe label text to use in the form control.
labelPlacementstringnoaroundWhether to place the label before, after, or wrapped around the form control. Label text placement can be controlled using aroundLeft or aroundRight.
prependstringnoString to prepend to the form control. Useful to wrap the form control with HTML tags.
appendstringnoString to append to the form control. Useful to wrap the form control with HTML tags.
prependToLabelstringnoString to prepend to the form control’s label. Useful to wrap the form control with HTML tags.
appendToLabelstringnoString to append to the form control’s label. Useful to wrap the form control with HTML tags.
combinebooleannoSet to false to not combine the select parts into a single DateTime object.
twelveHourbooleannofalsewhether to display the hours in 24 or 12 hour format. 12 hour format has AM/PM drop downs
encodeanynotrueUse this argument to decide whether the output of the function should be encoded in order to prevent Cross Site Scripting (XSS) attacks. Set it to true to encode all relevant output for the specific HTML element in question (e.g. tag content, attribute values, and URLs). For HTML elements that have both tag content and attribute values you can set this argument to attributes to only encode attribute values and not tag content.
1. Basic usage: creates hour, minute, and second selects
timeSelectTags(name="timeOfMeeting", selected=params.timeOfMeeting)

2. Only show hour and minute selects
timeSelectTags(name="timeOfMeeting", selected=params.timeOfMeeting, order="hour,minute")

3. Show 15-minute intervals
timeSelectTags(name="reminderTime", minuteStep=15)

4. Display in 12-hour format with AM/PM
timeSelectTags(name="eventStart", twelveHour=true)

5. Include a blank option
timeSelectTags(name="timeSlot", includeBlank="- Select Time -")

6. Add a label and append helper text
timeSelectTags(name="appointmentEnd", label="End Time", append="(HH:MM:SS)")