Supongamos que respuesta_rma.php en lugar de devolver lo que tienes ahora, devuelve algo como:
Código PHP:
<?php
$id_tipo = $_GET["id_tipo"];
function select_combinado($id_tipo){
require("conexion.php");
$sql_rma='SELECT id_modelo, nombre_modelo FROM modelo_rma WHERE id_tipo_enlace='.$id_tipo;
$consulta_rma = mysql_query($sql_rma,$conexion) or die(mysql_error());
$nuevo_select='';
while($rma=mysql_fetch_assoc($consulta_rma)) {
$nuevo_select .= $rma['nombre_modelo'].'/';
}
mysql_free_result($consulta_rma);
$nuevo_select=substr($nuevo_select,0,-1);
return $nuevo_select;
}
echo (select_combinado($id_tipo));
?>
Eso hace que el ajax.responseText sea algo como "uno/otro/otro más". Así que en el onreadystatechange, lo que haces es usar eso para construir objetos Option y meterlos en el select.
Código javascript
:
Ver original//...
ajax.onreadystatechange = function(){
if (ajax.readyState==4) {
array_de_modelos = ajax.responseText.split("/");
modeloSelectOptions = document.getElementById("modelo").options;
for (var i= 0;i<array_de_modelos.length; i++) {
modeloSelectOptions[modeloSelectOptions.length] = new Option(array_de_modelos[i]);
}
}
}
//...
Eso suponiendo que al <select size="1" name="modelo" tabindex="8"> le pones un id="modelo", claro. Y que revisas el código porque lo he escrito así sin pensar y podría tener errores.