Skip to content

View Helpers

dateSelectTags()

dateSelectTags() — returns string

Available in: controller Category: Form Tag Functions

dateSelectTags() is similar to dateSelect(), but instead of binding to a model object, it works directly with a name and selected value. It generates three select dropdowns (month, day, year) for form tags.

NameTypeRequiredDefaultDescription
namestringyesName to populate in tag’s name attribute.
selectedstringnoValue of option that should be selected by default.
orderstringnomonth,day,yearUse to change the order of or exclude date select tags.
separatorstringno [see:dateSelect].
startYearnumericno2018First year in select list.
endYearnumericno2028Last year in select list.
monthDisplaystringnonamesPass in names, numbers, or abbreviations to control display.
monthNamesstringnoJanuary,February,March,April,May,June,July,August,September,October,November,December[see:dateSelect].
monthAbbreviationsstringnoJan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec[see:dateSelect].
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.
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.
$nowdateno[runtime expression]
Example 1: Basic usage
#dateSelectTags(name="dateStart", selected=params.dateStart)#

Outputs month/day/year selects with the value pre-selected from params.dateStart.

---

Example 2: Month and year only
#dateSelectTags(name="expiration", selected=params.expiration, order="month,year")#

Useful for credit card expiration date inputs.

Only month and year dropdowns appear.

---

Example 3: Custom year range
#dateSelectTags(name="eventDate", startYear=2000, endYear=2030)#

Dropdown shows years 2000–2030.

---

Example 4: Custom month display
#dateSelectTags(name="anniversary", monthDisplay="abbreviations")#

Months display as Jan, Feb, Mar… instead of full names.

---

Example 5: Include blank options
#dateSelectTags(name="graduationDate", includeBlank="- Select Date -")#

Adds a blank option at the top of each dropdown with - Select Date -.

---

Example 6: Using labels and custom HTML
#dateSelectTags(name="hireDate", label="Hire Date", labelPlacement="before", prepend="<div class='date-wrapper'>", append="</div>")#

Adds a label and wraps selects inside a <div> for styling.