Hola.
me parece que usar el atributo "innerHTML" en un select no es la mejor manera agregar nuevas opciones a tu select, yo he hecho esto mismo de una manera distinta, la idea la tome de la pagina oficial de xajax, te pongo el codigo que utilice y espro te sirva:
Código PHP:
function cargaTipo($tipo){
$objResponse = new xajaxResponse();
$obj = new accesoControlador();
$aTipos = $obj->cargaTipo($tipo);
//la funcion cargaTipo me devuelve un array bidimensional con lo que necesito
//tipo2 es mi select
$sScript ="document.getElementById('tipo2').options.length = 0;";
for ($i=0;$i<count($aTipos);$i++){
$sScript .= "var objOption = new Option('".$aTipos[$i]['descripcion']."', '".$aTipos[$i]["idtipocorrespondencia"]."');";
$sScript .= "document.getElementById('tipo2').options.add(objOption);";
}
$objResponse->addScript($sScript);
return $objResponse;
}
lo que hago es que borro las opciones del select "tipo2" y luego relleno el select via javascript.
cualquier duda, pregunta