Foros del Web » Programando para Internet » Jquery »

jQuery: Agregar una fila + Select dinámicos

Estas en el tema de jQuery: Agregar una fila + Select dinámicos en el foro de Jquery en Foros del Web. Hola gente del foro! Cómo están? Se me ha presentado un caso que no se como resolver. Tengo un formulario para cargar 'Profesores' a la ...
  #1 (permalink)  
Antiguo 08/09/2010, 06:58
Avatar de fakulicious  
Fecha de Ingreso: mayo-2008
Ubicación: Mendoza
Mensajes: 140
Antigüedad: 16 años, 6 meses
Puntos: 2
Pregunta jQuery: Agregar una fila + Select dinámicos

Hola gente del foro! Cómo están?

Se me ha presentado un caso que no se como resolver.

Tengo un formulario para cargar 'Profesores' a la BD, con los campos Nombre, Apellido, Email y Contraseña. Hasta ahí todo bárbaro.

También tengo 3 select para asignarle una 'Materia' a ese profesor, esos 3 selects son dinámicos Universidad -> Carrera -> Materia. Los tres se cargan con datos de la BD mediante PHP, y al seleccionar el 1º se filtra el 2º, y el 2º filtra el 3º con una función JavaScript.

El problema es que los profesores pueden estar asignados a más de una materia, entonces agregué un link 'Agregar materia' que agrega una fila a la tabla, con 3 celdas y un select en cada una. Pero como puedo hacer para que esos 3 nuevos select se llenen con los datos de Universidades, Carreras y Materias que están en la BD y que sigan cumpliendo la función de filtrado.

El filtro lo aplico con una función SeleccionandoCombo(comboOrigen, comboDestino)

El select id="nuevoProfesor_idInstitucion" llena el select id="nuevoProfesor_idCarrera"
Código HTML:
<select name="nuevoProfesor_idInstitucion" id="nuevoProfesor_idInstitucion" onchange="SeleccionandoCombo('nuevoProfesor_idInstitucion','nuevoProfesor_idCarrera');"> 
Lo que creo que debería hacer, para no volver a hacer la consulta a la BD por cada fila que se agregue, es copiar el HTML de esa fila, y cambiar el id de los select (por ejemplo, sumandole 1 al final del nombre) tanto en el atributo id="" como en los parámetros de la función en el atributo onchange="".

La fila la agrego desde un link con id 'agregarMateria':

Código HTML:
<a href="#" id="agregarMateria">Agregar materia</a> 
La tabla completa donde tengo todos los campos tiene el id 'tablaFormNuevoProfesor':

Código HTML:
<table id="tablaFormNuevoProfesor"> 
Y la fila donde tengo los 3 primeros select tiene el id 'filaMateria':

Código HTML:
<tr id="filaMateria"> 
Y este es el código con el que agrego la fila.
Código:
	$('#agregarMateria').click(function(){
		$("#tablaFormNuevoProfesor").append($('#filaMateria').html());
		return false;
	});
Y por último, cuando todo esto esté listo lo que necesitaría es crear un array con los valores seleccionados de todos los select con el id 'nuevoProfesor_idMateria' para enviarlos a la BD y guardarlos en un campo.

Espero que no haya sobrado ni faltado nada en mi explicación. Siempre trato de ser lo más claro posible para que puedan ayudarme.

Desde ya muchísimas gracias!!
__________________
Facundo
http://www.creactivo.com.ar

Etiquetas: fila, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:31.