Bien, como te decía anteriormente, con el método ajax() de jquery se puede lograr muy fácilmente...
La forma de pasar los parámetros y recibirlos en el php es pan comido, sin embargo no tengo suficiente información como para darte una ayuda exacta, pero espero que con estos ejemplos te puedas entender un poco la idea...
Por lo que he leido hasta ahora creo que tu forma de recoger los datos es de esta forma:
Código Javascript
:
Ver originalvar selected = $("#criterio option:selected");
Supongamos que quieres enviar el valor de ese select al php para que genere una lista (estoy parafraseando). La forma de hacerlo por jquery.ajax() es la siguiente:
Código Javascript
:
Ver original// Lo primero crear el stack de parametros que queremos enviar por ajax:
var parametros = {
"campo_valor" : selected.val(),
"campo_texto" : selected.text()
};
// Ya tenemos los parametros a enviar, ahora ejecutamos el ajax:
$.ajax({
data: parametros, // Stack con los parámetros
url: 'archivo_receptor.php', // Archivo que recibirá los parámetros y delvolverá el reponse
type: 'post', // Tipo de envio get o post
beforeSend: function () {
$("#capaAjax").html("<div align='center'>Cargando...</div>");
},
success: function (response) {
$("#capaAjax").html(response);
}
});
Creo que de por si la función es más que sencilla de entender y también sencilla de aplicar. Ahora ¿Cómo recibes esos datos en php? Sencillo:
Código PHP:
Ver original# archivo_receptor.php
if(isset($_POST['campo_valor'])) {
$campo_valor = $_POST['campo_valor'];
$campo_texto = $_POST['campo_texto'];
/**
* ¿De donde he sacado esto?
* del stack 'parametros' que enviamos por ajax...
*/
// Ya por ultimo para hacer el response, vasta con hacer un siemple echo:
echo 'La opción seleccionada tiene value='. $campo_valor .' y texto='. $campo_texto;
}
Esto se mostrara en el HTML en un div con selector
capaAjax
Con esto seria todo... Espero haberte ayudado amigo...