I, and probably Weedpack also, was assuming that you were storing your values in a table that was being used as a lookup.
Here is an example of what I mean. To build a US address you need these things:
1. An address line
2. An optional second address line (suite #, apt #, etc...)
3. A city
4. A state
5. A zip code
Now most of this needs to be free form entry so that you can get the widest range of answers. But the State field doesn't have to be free form (as I'm sure you've seen on the web). So to code for the state I'd build a table that looks something like this:
States
state_id int not null
state_code char(2) not null
state_name varchar(50)
Now I'd fill this table with things like:
1, AZ, Arizona
2, CA, California
etc...
Finally I'd use the data in this table to build my select as I showed in my first reply, and then the user could use this to select the state they live in instead of typing it in. This is the standard way of using a select that is driven from a database.
Now when the user has completed entering the address it is stored in a second table that only stores the referance to the state, by using the state_id, and I've saved the space that would be used by the user typing in California hundreds of times. And I know that California will always be spelled the same and if I needed to change it for any reason I could change it for all users with a single database change. This is a standard way of building a relational database.