Link | c5_stateselect |
Author | Jason Huck |
Category | Utility |
Version | 8.x |
License | http://opensource.org/licenses/artistic-license.php |
Posted | 16 Jan 2006 |
Updated | 19 Jan 2006 |
More by this author... |
This tag creates an HTML <select> element for forms containing any combination of US States, US Territories, and/or Canadian Provinces. You can specify the order in which the lists appear or choose to sort all the options together in a master list. You may also choose to use either the full name or the abbreviation for both the value and the label for each <option> element. Requires [array_flip] and [array_sortpairs].
c5_stateselect( -inputname='state', -editvalue='OH', -lists=array('states', 'territories', 'provinces'), -values='short', -labels='long', -sorted );
Click the "Download" button below to retrieve a copy of this tag, including the complete documentation and sample usage shown on this page. Place the downloaded ".inc" file in your LassoStartup folder, restart Lasso, and you can begin using this tag immediately.
define_tag( 'stateselect', -namespace='c5_', -priority='replace', -required='inputname', -type='string', -optional='editvalue', -type='string', -optional='values', -type='string', -optional='labels', -type='string', -optional='lists', -type='array', -optional='sorted', -description='Creates a pulldown list of US states and/or Canadian provinces.' ); // set defaults !local_defined('editvalue') ? local('editvalue' = ''); !local_defined('values') ? local('values' = 'short'); !local_defined('labels') ? local('labels' = 'short'); !local_defined('lists') ? local('lists') = array('states'); !local_defined('sorted') ? local('sorted' = false) | local('sorted' = true); local('states') = array( 'AL' = 'Alabama', 'AK' = 'Alaska', 'AZ' = 'Arizona', 'AR' = 'Arkansas', 'CA' = 'California', 'CO' = 'Colorado', 'CT' = 'Connecticut', 'DC' = 'District of Columbia', 'DE' = 'Delaware', 'FL' = 'Florida', 'GA' = 'Georgia', 'HI' = 'Hawaii', 'ID' = 'Idaho', 'IL' = 'Illinois', 'IN' = 'Indiana', 'IA' = 'Iowa', 'KS' = 'Kansas', 'KY' = 'Kentucky', 'LA' = 'Louisiana', 'ME' = 'Maine', 'MD' = 'Maryland', 'MA' = 'Massachusetts', 'MI' = 'Michigan', 'MN' = 'Minnesota', 'MS' = 'Mississippi', 'MO' = 'Missouri', 'MT' = 'Montana', 'NE' = 'Nebraska', 'NV' = 'Nevada', 'NH' = 'New Hampshire', 'NJ' = 'New Jersey', 'NM' = 'New Mexico', 'NY' = 'New York', 'NC' = 'North Carolina', 'ND' = 'North Dakota', 'OH' = 'Ohio', 'OK' = 'Oklahoma', 'OR' = 'Oregon', 'PA' = 'Pennsylvania', 'RI' = 'Rhode Island', 'SC' = 'South Carolina', 'SD' = 'South Dakota', 'TN' = 'Tennessee', 'TX' = 'Texas', 'UT' = 'Utah', 'VT' = 'Vermont', 'VA' = 'Virginia', 'WA' = 'Washington', 'WV' = 'West Virginia', 'WI' = 'Wisconsin', 'WY' = 'Wyoming' ); local('provinces') = array( 'AB' = 'Alberta', 'BC' = 'British Columbia', 'MB' = 'Manitoba', 'NF' = 'Newfoundland', 'NB' = 'New Brunswick', 'NT' = 'Northwest Territories', 'NS' = 'Nova Scotia', 'ON' = 'Ontario', 'PE' = 'Prince Edward Island', 'QC' = 'Quebec', 'SK' = 'Saskatchewan', 'YT' = 'Yukon' ); local('territories') = array( 'AS' = 'American Samoa', 'FM' = 'Fed. Micronesia', 'GU' = 'Guam', 'MH' = 'Marshall Island', 'MP' = 'N. Mariana Is.', 'PW' = 'Palau Island', 'PR' = 'Puerto Rico', 'VI' = 'Virgin Islands' ); local('headers') = map( 'states' = '-- US States --', 'provinces' = '-- Canadian Provinces --', 'territories' = '-- US Territories --' ); if(#values == 'long'); iterate(#lists, local('i')); local(#i) = array_flip(local(#i)); /iterate; /if; if(#lists->size > 1); local('combined' = array); iterate(#lists, local('i')); !#sorted ? #combined->insert('' = #headers->find(#i)); #combined->merge(local(#i)); /iterate; else; local('combined') = local(#lists->first); /if; #sorted ? #combined = array_sortpairs(#combined); local('out' = ''; return(@#out); /define_tag;
No comments
©LassoSoft Inc 2015 | Web Development by Treefrog Inc | Privacy | Legal terms and Shipping | Contact LassoSoft