Escolar Documentos
Profissional Documentos
Cultura Documentos
Spy
Grupos
spectro200
11 jul 13, 12:40
#1
Buenas, os comento que es lo que pretendo hacer. Tengo un select en 3 niveles dependientes,
tengo un primer select que elige el "elemento", un segundo select que elige el "tipo del
elemento" elegido anteriormente y un ultimo select que elige la "marca" en funcin de los dos
select anteriores.
El problema es que solo se pasar el parmetro del select anterior y no de los dos anteriores.
El cdigo que uso es el siguiente:
<script language="javascript">
$(document).ready(function(){
// Parametros para el elemento
$("#elemento").change(function () {
$("#elemento option:selected").each(function () {
//Capturo el valor a pasar
elegido=$(this).val();
$.post("elemento", { elegido: elegido }, function(data){
$("#tipo").html(data);
$("#combo_marca").html();
});
});
})
// Parametros para el tipo
$("#tipo").change(function () {
$("#tipo option:selected").each(function () {
//Aqu capturo el valor del segundo select y debo de pasar tambin
el del primer select
elegido=$(this).val();
elemento=.............
$.post("tipo", { elegido: elegido, elemento:elemento },
function(data){
$("#combo_marca3").html(data);
});
});
})
});
</script>
zoeshadow
11 jul 13, 14:29
#2
De manera que cuando abajo cambies el valor, se cambie el valor de la variable elegido que
est declarado arriba, de esa manera todas las funciones dentro de la funcin ready tendrn
acceso a ella.
Creo que esto te solucionar el problema
Gantorys
#3
#4
tOWERR
#1
No sera ms cmodo recoger los valores de los select en variables y al final mediante la
funcin '$.ajax()' hacer el POST?
En la propiedad 'data' le indicas los valores que vas a pasarle y listo. Funcionando.
Yo es siempre lo que hago y me funciona todo a la perfeccin.
Te dejo un enlace de la funcin: http://api.jquery.com/jQuery.ajax/
1 respuesta
zoeshadow
11 jul 13, 18:07
#5
#4 Segn he entendido #1 necesita el valor de la primera para poder mostrar la segunda ( que
segn parece la genera en el servidor )
Tunnecino
11 jul 13, 18:35
#6
1 respuesta
tOWERR
#7
El problema que el tiene creo que que no sabe pasar a la funcin los valores de los 2 ltimos
select. La solucin que veo es que capture los 3 valores en 3 variables, y cuando coja el valor
del ltimo todo lo mande a travs de la funcin ajax. No lo veo tan difcil. Lo que no s es como
manda los valores, si los manda cuando selecciona el ltimo elemento, o cuando ha
seleccionado los 3 valores da a un button y lo enva.
Que se explique mejor #1.
1 respuesta
xMarston
#8
#9
Siento no haber contestado antes pero he estado liado. Gracias a todos por las respuestas.
La solucin la he conseguido gracias a lo que Gantorys y xMarston han puesto. Era muy
sencillo pero no manejo mucho Jquery. :P
$("#tipo").change(function () {
$("#tipo option:selected").each(function () {
elegido=$(this).val();
var elemento =$('#elemento').val();
$.post("tipo", { elegido: elegido, elemento:elemento },
function(data){
$("#combo_marca3").html(data);
});
});
})
});
</script>
2 respuestas
tOWERR
#10
#11
Con que cojas el seleccionado con $(this).val() es suficiente, ya luego haces la llamada a ajax.
1 respuesta
spectro200
16 jul 13, 11:59
#12
#13
});
</script>
Responder
Foros
Spy
2016 Mediavida | Versin clsica