Needing to populate form pull-downs for state quickly and dynamically.
This cfc builds a structure of states/CA provinces that you can call and then loop. Saves on code reuse and 50+ lines of code.
<CFCOMPONENT DISPLAYNAME="LocCodes" HINT="Retuns a structure
of US states, territories, and/or Canadian Provinces">
<!--- Usage Hints:
Loop Abbrs:
<CFLOOP INDEX="i"
LIST="#arraytolist(structsort(stState, "text", "asc",
"abbr"))#">
#Evaluate("stState.#i#.abbr")#<BR>
</CFLOOP>
Loop States:
<CFLOOP INDEX="i"
LIST="#arraytolist(structsort(stState, "text", "asc",
"name"))#">
#Evaluate("stState.#i#.name")#<BR>
</CFLOOP>
Select:
<CFLOOP INDEX="i"
LIST="#arraytolist(structsort(stState, "text", "asc",
"name"))#">
<OPTION
VALUE="#Evaluate("stState.#i#.abbr")#">#Evaluate("stState.#i#.name")#</OPTION>
</CFLOOP>
--->
<CFFUNCTION NAME="State" ACCESS="public"
OUTPUT="false" RETURNTYPE="struct">
<!---
<CFINVOKE COMPONENT="LocCodes" METHOD="State"
RETURNVARIABLE="[RETURNVARIABLE]">
</CFINVOKE>
Returns:
[RETURNVARIABLE] = structure
--->
<CFSET i = 0>
<CFSET stState = StructNew()>
<!--- 50 States --->
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "AL">
<CFSET stState["v#i#"].name = "Alabama">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "AK">
<CFSET stState["v#i#"].name = "Alaska">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "AZ">
<CFSET stState["v#i#"].name = "Arizona">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "AR">
<CFSET stState["v#i#"].name = "Arkansas">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "CA">
<CFSET stState["v#i#"].name = "California">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "CO">
<CFSET stState["v#i#"].name = "Colorado">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "CT">
<CFSET stState["v#i#"].name =
"Connecticut">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "DE">
<CFSET stState["v#i#"].name = "Delaware">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "DC">
<CFSET stState["v#i#"].name = "District of
Columbia">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "FL">
<CFSET stState["v#i#"].name = "Florida">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "GA">
<CFSET stState["v#i#"].name = "Georgia">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "HI">
<CFSET stState["v#i#"].name = "Hawaii">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "ID">
<CFSET stState["v#i#"].name = "Idaho">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "IL">
<CFSET stState["v#i#"].name = "Illinois">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "IN">
<CFSET stState["v#i#"].name = "Indiana">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "IA">
<CFSET stState["v#i#"].name = "Iowa">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "KS">
<CFSET stState["v#i#"].name = "Kansas">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "KY">
<CFSET stState["v#i#"].name = "Kentucky">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "LA">
<CFSET stState["v#i#"].name = "Louisiana">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "ME">
<CFSET stState["v#i#"].name = "Maine">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MD">
<CFSET stState["v#i#"].name = "Maryland">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MA">
<CFSET stState["v#i#"].name =
"Massachusetts">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MI">
<CFSET stState["v#i#"].name = "Michigan">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MN">
<CFSET stState["v#i#"].name = "Minnesota">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MS">
<CFSET stState["v#i#"].name =
"Mississippi">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MO">
<CFSET stState["v#i#"].name = "Missouri">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "MT">
<CFSET stState["v#i#"].name = "Montana">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NE">
<CFSET stState["v#i#"].name = "Nebraska">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NV">
<CFSET stState["v#i#"].name = "Nevada">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NH">
<CFSET stState["v#i#"].name = "New
Hampshire">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NJ">
<CFSET stState["v#i#"].name = "New Jersey">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NM">
<CFSET stState["v#i#"].name = "New Mexico">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NY">
<CFSET stState["v#i#"].name = "New York">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "NC">
<CFSET stState["v#i#"].name = "North
Carolina">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "ND">
<CFSET stState["v#i#"].name = "North
Dakota">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "OH">
<CFSET stState["v#i#"].name = "Ohio">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "OK">
<CFSET stState["v#i#"].name = "Oklahoma">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "OR">
<CFSET stState["v#i#"].name = "Oregon">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "PA">
<CFSET stState["v#i#"].name =
"Pennsylvania">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "RI">
<CFSET stState["v#i#"].name = "Rhode
Island">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "SC">
<CFSET stState["v#i#"].name = "South
Carolina">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "SD">
<CFSET stState["v#i#"].name = "South
Dakota">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "TN">
<CFSET stState["v#i#"].name = "Tennessee">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "TX">
<CFSET stState["v#i#"].name = "Texas">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "UT">
<CFSET stState["v#i#"].name = "Utah">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "VT">
<CFSET stState["v#i#"].name = "Vermont">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "VA">
<CFSET stState["v#i#"].name = "Virginia">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "WA">
<CFSET stState["v#i#"].name = "Washington">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "WV">
<CFSET stState["v#i#"].name = "West
Virginia">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "WI">
<CFSET stState["v#i#"].name = "Wisconsin">
<CFSET i = i + 1>
<CFSET stState["v#i#"] = StructNew()>
<CFSET stState["v#i#"].abbr = "WY">
<CFSET stState["v#i#"].name = "Wyoming">
<CFRETURN stState>
</CFFUNCTION>
<CFFUNCTION NAME="Possession" ACCESS="public"
OUTPUT="false" RETURNTYPE="struct">
<!---
<CFINVOKE COMPONENT="LocCodes"
METHOD="Possession" RETURNVARIABLE="[RETURNVARIABLE]">
</CFINVOKE>
Returns:
[RETURNVARIABLE] = structure
--->
<CFSET i = 0>
<CFSET stPossession = StructNew()>
<!--- Possessions --->
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "VI">
<CFSET stPossession["v#i#"].name = "Virgin
Islands">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "PR">
<CFSET stPossession["v#i#"].name = "Puerto
Rico">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "PW">
<CFSET stPossession["v#i#"].name = "Palau">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "MP">
<CFSET stPossession["v#i#"].name = "Northern
Mariana Islands">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "MH">
<CFSET stPossession["v#i#"].name = "Marshall
Islands">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "GU">
<CFSET stPossession["v#i#"].name = "Guam">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "FM">
<CFSET stPossession["v#i#"].name = "Federated
States of Micronesia">
<CFSET i = i + 1>
<CFSET stPossession["v#i#"] = StructNew()>
<CFSET stPossession["v#i#"].abbr = "AS">
<CFSET stPossession["v#i#"].name = "American
Samoa">
<CFRETURN stPossession>
</CFFUNCTION>
<CFFUNCTION NAME="Military" ACCESS="public"
OUTPUT="false" RETURNTYPE="struct">
<!---
<CFINVOKE COMPONENT="LocCode"
METHOD="Military" RETURNVARIABLE="[RETURNVARIABLE]">
</CFINVOKE>
Returns:
[RETURNVARIABLE] = structure
--->
<CFSET i = 0>
<CFSET stMilitary = StructNew()>
<!--- Military --->
<CFSET i = i + 1>
<CFSET stMilitary["v#i#"] = StructNew()>
<CFSET stMilitary["v#i#"].abbr = "AE">
<CFSET stMilitary["v#i#"].name = "Armed Forces
Africa">
<CFSET i = i + 1>
<CFSET stMilitary["v#i#"] = StructNew()>
<CFSET stMilitary["v#i#"].abbr = "AA">
<CFSET stMilitary["v#i#"].name = "Armed Forces
Americas (except Canada)">
<CFSET i = i + 1>
<CFSET stMilitary["v#i#"] = StructNew()>
<CFSET stMilitary["v#i#"].abbr = "AE">
<CFSET stMilitary["v#i#"].name = "Armed Forces
Canada">
<CFSET i = i + 1>
<CFSET stMilitary["v#i#"] = StructNew()>
<CFSET stMilitary["v#i#"].abbr = "AE">
<CFSET stMilitary["v#i#"].name = "Armed Forces
Europe">
<CFSET i = i + 1>
<CFSET stMilitary["v#i#"] = StructNew()>
<CFSET stMilitary["v#i#"].abbr = "AE">
<CFSET stMilitary["v#i#"].name = "Armed Forces
Middle East">
<CFSET i = i + 1>
<CFSET stMilitary["v#i#"] = StructNew()>
<CFSET stMilitary["v#i#"].abbr = "AP">
<CFSET stMilitary["v#i#"].name = "Armed Forces
Pacific">
<CFRETURN stMilitary>
</CFFUNCTION>
<CFFUNCTION NAME="Canada" ACCESS="public"
OUTPUT="false" RETURNTYPE="struct">
<!---
<CFINVOKE COMPONENT="LocCodes" METHOD="Canada"
RETURNVARIABLE="[RETURNVARIABLE]">
</CFINVOKE>
Returns:
[RETURNVARIABLE] = structure
--->
<!--- Start // Canada --->
<CFSET i = 0>
<CFSET stCanada = StructNew()>
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "AB">
<CFSET stCanada["v#i#"].name = "Alberta">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "BC">
<CFSET stCanada["v#i#"].name = "British
Columbia">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "MB">
<CFSET stCanada["v#i#"].name = "Manitoba">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "NB">
<CFSET stCanada["v#i#"].name = "New
Brunswick">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "NL">
<CFSET stCanada["v#i#"].name = "Newfoundland
and Labrador">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "NT">
<CFSET stCanada["v#i#"].name = "Northwest
Territories">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "NS">
<CFSET stCanada["v#i#"].name = "Nova
Scotia">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "NU">
<CFSET stCanada["v#i#"].name = "Nunavut">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "ON">
<CFSET stCanada["v#i#"].name = "Ontario">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "PE">
<CFSET stCanada["v#i#"].name = "Prince Edward
Island">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "QC">
<CFSET stCanada["v#i#"].name = "Quebec">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "SK">
<CFSET stCanada["v#i#"].name =
"Saskatchewan">
<CFSET i = i + 1>
<CFSET stCanada["v#i#"] = StructNew()>
<CFSET stCanada["v#i#"].abbr = "YT">
<CFSET stCanada["v#i#"].name = "Yukon">
<!--- End \\ Canada --->
<CFRETURN stCanada>
</CFFUNCTION>
</CFCOMPONENT>
+