Hola!
Tengo que implementar unos selects dependientes de 3 niveles, de forma que el segundo select depende del primero y el tercero depende de lo seleccionado en el primero y el segundo.
Tengo el siguiente código:
<select name="tipo" onChange="getFamilia(this.value)">
<option value="table_acero">Acero</option>
<option value="table_madera">Madera</option>
</select>
<select name="familia" onChange="getMaterial(this.value)">
//Se carga por Ajax el combo correspondiente a lo elegido en el select anterior
</select>
<select name="material">
//Se tendria que cargar por Ajax el combo correspondiente a lo elegido en el primer y segundo select
</select>
Me gustaría añadir en la función getMaterial(this.value) el parámetro del valor elegido en el primer select, sin tener que enviar el formulario o recargar la página. Hay alguna forma de hacerlo?
Gracias
Vale... creo ya lo sé. He estado horas, y ahora en un segundo me ha venido la solución.
Simplemente esto:
getMaterial(this.value, tipo.value);
Sí esa es una manera, y puedes hacer una función javascript que te reciba los parámetros y los envías a un script PHP y que te devuelva los datos que estén relacionados con la opción que se escogió.
function getMaterial(valor,tipo){
var datos = {valor:valor,tipo:tipo};
$.ajax({
url:'ajax/file.php',
data: datos;
dataType:'html',
success: function(e){
$("#material").html(e);
}
})
}
.
Ya lo del PHP es a tu manera ;) ahh y para que ese ejemplo de javascript te funcione utiliza jquery es super sencillo y facilita las cosas. Saludos.
Muchas gracias! ;-)
Y ya que mencionas lo de Ajax, hay alguna forma en que yo pueda recoger en una variable lo que me devuelve la función getMaterial? Lo único que consigo es "vomitarlo" todo en un <div>, pero después me gustaría poder hacer algo con los datos que me devuelve.
Gracias de nuevo
[TUTE] Clase para generar automaticamente select(combos) dependientes multinivel
http://foro.elhacker.net/desarrollo_web/tute_clase_para_generar_automaticamente_selectcombos_dependientes_multinivel-t379538.0.html
Cita de: KateLibby en 14 Noviembre 2013, 23:53 PM
Muchas gracias! ;-)
Y ya que mencionas lo de Ajax, hay alguna forma en que yo pueda recoger en una variable lo que me devuelve la función getMaterial? Lo único que consigo es "vomitarlo" todo en un <div>, pero después me gustaría poder hacer algo con los datos que me devuelve.
Gracias de nuevo
Desde luego, existen varias funciones jquery que te permiten manipular lo que devuelva la función, te recomiendo la función each, http://api.jquery.com/each/ ahí esta toda la documentación y con ejemplos de esa función :)