Not yet rated

Problem

Needing to populate form pull-downs for state quickly and dynamically.

Solution

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.

Detailed explanation

<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>


+
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. Permissions beyond the scope of this license, pertaining to the examples of code included within this work are available at Adobe.

Report abuse

Related recipes