On the Client
As infoxicated said, jQuery is way, way simpler than trying to do this yourself. In particular, it has a load function that makes an AJAX request, assumes that the returned data is HTML, and inserts the HTML into whatever element you choose:
$(yourSelect).load('somepage.php'); // so easy!
On the Server
The only argument you'll (probably) need to pass to the load function is the URL of a page that will spit out an HTML fragment. I used PHP in that example, but only because that's the only language I know. It can be any type you want.
Whatever language you choose, it needs to do the following:
- Get the current list from the database.
- Turn that list into an HTML string.
- Echo or print the string.