This is asked all the time. Often you want <SELECT> elements to populate based on previous selections. There are many different solutions, based on what you want to do, and how much data you actually need to swap around. The articles / samples below vary on a few things, mainly whether the re-populating is performed client-side or after a round-trip to the server.