MakeDateSelectLists(NameList, StartYear, EndYear[, DefaultDate][, theDelim])
Last updated June 21, 2002
Version: 1 | Requires: CF5 | Library: DateLib
Description:
Creates a three-part date entry via HTML pulldowns for month, day and year, defaulting to the passed DefaultDate, and restricting the year to a range between StartYear and EndYear. Each fieldname is specified via NameList.
Return Values:
Returns a string.
Example:
<form action="" method="post">
Enter date:<br>
<cfoutput>#MakeDateSelectLists("month,day,year", Year(now()), Year(DateAdd("yyyy", 4, now())) )#</cfoutput>
</form>
Parameters:
Name | Description | Required |
---|---|---|
NameList | A list specifying the names to use for the form fields created. | Yes |
StartYear | The first year in the year drop down. | Yes |
EndYear | The last year in the year drop down. | Yes |
DefaultDate | The date the drop downs will default to. Default is now(). | No |
theDelim | Delimiter for NameList. Defaults to a comma. | No |
Full UDF Source:
/**
* Creates pulldowns for month, day and year.
*
* @param NameList A list specifying the names to use for the form fields created. (Required)
* @param StartYear The first year in the year drop down. (Required)
* @param EndYear The last year in the year drop down. (Required)
* @param DefaultDate The date the drop downs will default to. Default is now(). (Optional)
* @param theDelim Delimiter for NameList. Defaults to a comma. (Optional)
* @return Returns a string.
* @author Shawn Seley (shawnse@aol.com)
* @version 1, June 21, 2002
*/
function MakeDateSelectLists(NameList, StartYear, EndYear) {
var out_string = "";
var i = 1;
var theDelim = ",";
var CR = chr(13);
var defaultDate = now();
if(arrayLen(arguments) gte 4) defaultDate = arguments[4];
if(ArrayLen(Arguments) GTE 5) theDelim = Arguments[5];
// Month
out_string = "<select name='#ListFirst(NameList, theDelim)#'>#CR#";
for(i=1; i LTE 12; i=i+1){
if(i EQ Month(DefaultDate)){
out_string = out_string & "<option value='#i#' selected>#MonthAsString(i)#</option>#CR#";
} else {
out_string = out_string & "<option value='#i#'>#MonthAsString(i)#</option>#CR#";
}
}
out_string = out_string & "</select>#CR##CR#";
// Day
out_string = out_string & "<select name='#ListGetAt(NameList, 2, theDelim)#'>#CR#";
for(i=1; i LTE 31; i=i+1){
if(i EQ Day(DefaultDate)){
out_string = out_string & "<option value='#i#' selected>#i#</option>#CR#";
} else {
out_string = out_string & "<option value='#i#'>#i#</option>#CR#";
}
}
out_string = out_string & "</select>#CR##CR#";
// Year
out_string = out_string & "<select name='#ListLast(NameList, theDelim)#'>#CR#";
for(i = StartYear; i LTE EndYear; i=i+1){
if(i EQ Year(DefaultDate)){
out_string = out_string & "<option value='#i#' selected>#i#</option>#CR#";
} else {
out_string = out_string & "<option value='#i#'>#i#</option>#CR#";
}
}
out_string = out_string & "</select>#CR##CR#";
return out_string;
}
Search CFLib.org
Latest Additions
Raymond Camden added
QueryDeleteRows
November 04, 2017
Leigh added
nullPad
May 11, 2016
Raymond Camden added
stripHTML
May 10, 2016
Kevin Cotton added
date2ExcelDate
May 05, 2016
Raymond Camden added
CapFirst
April 25, 2016