Hola:
No es necesario Ajax para obtener un dato de un select, porque para hacer la llamada ya debes saber obtenerlo.. por ejemplo con onchange="alert(this.value)"... pero entiendo que quieres saber cómo hacerlo, así que mejor te lo intento explicar.
Una forma (la que yo uso) de crear objetos ajax es con esta función:
Código:
function objetoAjax() {
if (window.XMLHttpRequest)
_ajax = new XMLHttpRequest();
else
if (window.ActiveXObject)
_ajax = new ActiveXObject("Microsoft.XMLHTTP");
else
_ajax = false;
return _ajax;
}
Tienes que tener un fichero en el servidor que reciba la petición ajax y normalmente devuelve resultados (por eso se suele denominar "petición". Pueden devolverse los datos requeridos de forma estructurada con estructura xml o json, o simplemente texto plano que parece ser lo que quieres conseguir. Supongo que si solo te interesa saber lo que envías, bastaría con un ficherito php tal que:
Código:
<?php
echo $_GET["opcion"];
?>
Solo nos queda la misma petición. Suponiendo que el fichero php se llame "ir.php", la llamada sería: onchange="pedir(this.value)"; y pedir.php sería:
Código:
function pedir(dato) {
Ajax = objetoAjax();
Ajax.open("get", "ir.php?opcion=" + dato, true);
Ajax.onreadystatechange = function() {
if (Ajax.readyState == 4 && (Ajax.status == 200 || Ajax.status == 501))
alert(Ajax.responseText);
}
Ajax.send(null);
}
Saludos