entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

formulario php + javascript Actualizar campos al cambiar un select.

HOla.
Podrían ayudarme con este problema?

Debo hacer un formulario para ingresar datos a una tabla.
En juego hay 3 tablas:
Planes (carreras)
Materias
Calificaciones

En el formulario debo:
1- Elegir un plan (carrera)
2- Elegir una materia
3- Enviar los datos
pasar los datos a otro formulario que muestra los alumnos inscriptos a esas materias para cargar las notas.
Quisiera que al elegir un plan, se ejecute una consulta php para armar el combo de materias.
Pienso que se puede hacer con javascript. La idea es hacerlo sin jquery salvo sugerencias en contrario.
Ahora lo tengo hecho en dos formularios, pero quisiera unirlos en uno solo.

(Imagen que no carga removida)

Desde ya muchas gracias

2 Respuestas

2votos

Leonardo-Tadei Puntos227320

Hola Nico,

la solución a este problema es que en el evento onChange() del select con las carreras, se haga una llamada vía JavaScript a otro script PHP que devuelva las materias.

Te dejo la dirección de un ejemplo que ilustra todo esto en JavaScript vanila (sin usar bibliotecas):
http://codigojerry.blogspot.com.ar/2012/11/cargar-un-select-desde-otro-select-php.html

Luego hay variantes: en eset ejemplo la respuesta es un select completo con sus options; podría ser también que tengas un select html vacío, y que la respuesta sean los options o podría ser que tengas un select HTML vacío y que la respueta sean los valores solamente para procesarlos con JavaScript y generar los options con addchild(): eso ya es cuestión de gustos y de necesidades.

Saludos cordiales!

0voto

top21tk comentado

Gracias Leonardo.
El ejemplo funciona ok.

Tenía otra pregunta que la traslado a la comunidad... por sugerencia de Peter

0voto

Peter comentado

Esa ya es otra pregunta completamente diferente. Por favor crea una nueva.

Saludos.

0voto

top21tk comentado

OK. Ahora lo publico. Gracias

2votos

mrczrt Puntos6940

Hola, por si quieres tambien la solución jQuery:

var plan = $('#plan').change(function(){
$.getJSON( 'materias.php', { id_plan : plan.val() }, function(d){   
    materias.html(''); 
    for(var i in d) materias.append('<option value="'+d[i].id+'">'+d[i].etiqueta+'<option>');   
});
 });

var materias = $('#materias').change(function(){
$.getJSON( 'inscritos.php', { id_materia : materias.val() }, function(d){   
    listaAlumnos.html(''); 
    for(var i in d) listaAlumnos.append('<option value="'+d[i].id+'">'+d[i].etiqueta+'<option>');   
});
});

var listaAlumnos = $('#materias');

Asumiendo q los 3 son selects, y que la respuesta de PHP es un JSON, saludos.

0voto

top21tk comentado

Gracias Marcos,
Ahora estoy aprendiendo, probablemente necesito avanzar un poco mas en el estuido para aplicar tu solución.
Por ejemplo no he visto anada de json.
QUedará como una "actualización " de mi sistemita para más adelante.

Abrazo..

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta