Código PHP:
<?
<script language="javascript" type="text/javascript">
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function cargaProvincia(id_prov)
{
ajax=nuevoAjax();
ajax.open("GET", "includes/combos.php?prov="+id_prov+"&num_ale="+Math.random(), true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
document.getElementById("prov").innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
function cargaLocalidad(id_loc)
{
ajax=nuevoAjax();
ajax.open("GET", "includes/combos2.php?loc="+id_loc+"&num_ale="+Math.random(), true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
document.getElementById("loc").innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
</script>
?>
Y en tus selects lo usas asi
en la pagina principal donde tienes los paises haces lo siguiente
<Select name=paises
onchange=cargaProvincia(this.value)>
</select>
Luego en el combo.php
haces lo mismo
<Select name=paises
onchange=cargaLocalidad(this.value)>
</select>
Y listo, eso es todo, te aclaro que le tenes que asignar un espacio a estas funciones me refiero a un div o una tabla que tengan el id de las funciones sino no vas a ver nada.
Saludos