No es algo muy complicado, pero tienes que tener mucho cuidado con las comillas. No se si utilizas php, asp u otro lenguaje para tus BDD.
Código PHP:
<script>
.
.
.
function cambia(oCntrl){
var txtVal = document.frm.txt.value;
while(oCntrl.length > 0) oCntrl.options[0]=null;
i = 0;
oCntrl.clear;
<?
$res=mysql_query("select * from ciudades", $link);
while( $row=mysql_fetch_array($res) ) {
echo 'addOpt(oCntrl, "'.$row['laCiudad'].'", "0", txtVal);';
}
?>
}
</script>
Creo que no me he colado en ninguna comilla. Es imprimir por pantalla el campo que tu quieres, pero esa impresion se queda dentro del codigo javascript, no en el HTML.
A ver si te sale.