Varias veces he hecho esto para un CMS que creé, y pues, la verdad no me metí mucho con AJAX, así que de pronto mi solución no sea tan "correcta", pero me sirvió; por lo menos puedes partir de ahí.
Los select se generan por medio de un script en PHP llamando algunos datos de una base de datos, pero es más o menos así:
Código:
<select name="type" id="type" onchange="MM_callJS('ajaxp(\'./sub/ajax/sc.php?t=\'+document.getElementById(\'type\').value,\'ajax_ville\')')">
la función javascript
ajaxp es una función para llamar a páginas con AJAX que pasa dos parámetros: la página que quiero que cargue mediante ajax (que tiene un GET t para que me cree otra lista en base a ese valor), y el segundo es la ID del div donde quiero que me cargue. El caso es que esa página que llama se carga dentro del form (sí: el div se encuentra dentro de <form />), así que cuando envío el formulario, me la envía con ese campo que generé mediante ajax.
Me parece una solución rústica, pero lógica y funcional.
Si hay alguna duda me dices.
Espero que te sirva la respuesta.