Hola,
Bueno, sea cual sea el modo, tenés que usar javascript para interseptar
el evento correspondiente al cambio de valor de tu select, y cuando
ocurra enviar el formulario al servidor. En el caso de que se trate de
ajax, simplemente tenés que escribir otra vista con su correspondiente
plantilla, pero en lugar de enviar html o xml, lo ideal sería una salida
JSON.
En caso de que no tengas idea de AJAX, acá tenés un muy buen tutorial
(en inglés):
http://www.w3schools.com/ajax/ajax_intro.asp
Podés hacer algo como esto, cada vez que encontras un cambio de valor en
tu SELET:
function cambioLugar() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
var valores = eval("("xhttp.responseText+")")();
}
};
Cuando tengas el objeto JSon podés procesarlo como si fuera un objeto
javascript, iterando por sus matrices, obteniendo valores de sus
propiedades, incluso invocando sus funciones (no recomendado), todo
tenés que hacerlo dentro de la función anónima.
Por ejemplo:
// Primero limpias la lista que querés rellenar
// y después añadís los elementos.
for (i = 0; i<valores.productos.count; i++) {
procesar valores.productos[i];
}
Por cierto, lo último no se si está bien, porque ya tengo una mezcla de
conocimientos de todo un poco y no lo tengo todo ordenado
apropiadamente, pero si sabes javascript sabrás como adaptarlo.
En el caso de que quieras hacerlo recargando la página, podés hacerlo
cambiando la solicitud GET de los parámetros de la solicitud GET, tan
simple como eso.
Un saludo, espero te ayude.
--
¡Cuando tus fuerzas terminan, las de Dios comienzan!