![]() |
Desplegables dinámicos Hola, tengo dos desplegables uno "Cursos" y otro "Alumnos" cargados desde una base de datos. Me gustaría saber como puedo hacer para que en función del curso que se seleccione se carguen los alumnos inscritos a él de la base de datos, en el desplegable alumnos. Gracias. |
Re: Desplegables dinámicos Hola, La solución a tu problema se llama AJAX. Contesté a un post poniendo un ejemplo de lo que me pides. Mira a ver si te sive y sino pues lo comentas. |
Re: Desplegables dinámicos Estoy analizandolo, pero no lo entiendo muy bien. ¿Qué es division?¿Y para que utilizo la función cuando onreadystatechange y ajax.send("texto1="+variable1+"&texto2="+variable2 );?. Podrías explicarme esto o ponerme un ejemplo algo más sencillo. Gracias por la ayuda. |
Re: Desplegables dinámicos Hola, Pues a ver: Cita:
Cita:
Cita:
El ajax.send("texto1="+variable1+"&texto2="+variable2 ); va ligado al ajax.open("POST", "crearPoblacion.php",true);. En el ajax.open, le digo a que documento mandaré los datos y como. En este caso los mando a crearPoblación.php y el métyodo es el POST. Si lo prefieres por GET pues pones GET en lugar de POST. Dicho esto, en el ajax.send(); lo que hago es darle nombre a las variables y asignarles un valor, para que cuando vayas a consultarlas en tu PHP sepas cual es cada una. ajax.send("texto1="+variable1+"&texto2="+variable2 ); fué un ejemplo para aquel post, pero podría haber puesto cualquier otra cosa: seleccion1 = document.getElementById("provincia").value seleccion2 = document.getElementById("profesion").value ajax.send("provincia="+seleccion1+"&profesion="+se leccion2 ); Te he contestado tus dudas??? |
Re: Desplegables dinámicos Movido al foro de AJAX desde JavaScript. Saludos, :adios: |
Re: Desplegables dinámicos Gracias por la aclaración, lo he entendido pero no consigo hacerlo funcionar. Este es el código que tengo. Perdón por las molestias, no soy muy ducho en la materia. <select name="curs" id="curs" onchange="<script language="JavaScript"> pasacurso();</script>"> <?php $consulta= "Select nomcurs from cursos"; $cursos=mysql_query($consulta) or die ("Error al consultar cursos"); if(mysql_num_rows($cursos>0)) { $row=mysql_fetch_array($cursos); } echo "<option value=''>Selecciona</option>"; while ($row=mysql_fetch_array($cursos)) { echo '<option value='.$row["nomcurs"]; echo ' >'; echo $row["nomcurs"]; echo'</option>'; } ?> </select> <span class="Estilo5"><br /> Alumne</span> <select name="Alumne" id="Alumne"> <?php $curs= $_SESSION["curs"]; echo $curs; $consulta= "Select nom from alumnos where curs='".$curs."'"; $alumnes=mysql_query($consulta) or die ("Error al consultar alumnes"); if(mysql_num_rows($alumnes>0)) { $row2=mysql_fetch_array($alumnes); } echo "<option value=''>Selecciona</option>"; while ($row2=mysql_fetch_array($alumnes)) { echo '<option value='.$row2["nom"]; echo ' >'; echo $row2["nom"]; echo'</option>'; } ?> </select> <script language="JavaScript"> function objetoAjax() { var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function pasacurso() { //obtener valores a enviar variable1 = menu.document.getElementById("curso").value; //instanciamos el objetoAjax ajax=objetoAjax(); ajax.open("POST", "secrevirtu-profes.php",true); ajax.onreadystatechange=function() { if (ajax.readyState==4) { division = menu.document.getElementById("form1"); division.innerHTML = ajax.responseText; } } //esto no se que es ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //envio los valores ajax.send("curs="+variable1); } </script> |
Re: Desplegables dinámicos Hola Ziyad, Te recomiendo que leas las FAQs del foro, hay ejemplos de como hacer desplegables o selects dinámicos y dependientes. Saludos. |
| La zona horaria es GMT -6. Ahora son las 22:33. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.