Retroceder   Foros del Web > Programación para sitios web > AJAX

Tema Cerrado
 
Herramientas Desplegado
Antiguo 04-abr-2008, 09:59   #1 (permalink)
Alberto_58 ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 6
Pregunta Select dependientes

Hola, necesito vuestra ayuda.

Pues veréis, tengo dos Select :

- Uno sirve para seleccionar un determinado curso

- Y el otro sirve para seleccionar un determinado alumno del curso elegido

Me funciona perfectamente.
El problema surge cuando intento meter este código dentro de unas pestañas tal que así

___________________________________
|Alumnos| | Cursos | Últimos_Accesos |
|.............|¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
|.............|___________________________________
|................................................. .........................|
|................................................. .........................|
|................................................. .........................|
| Elige un curso............................................. ......|
| Elige un alumno................. ...............................|
|................................................. .........................|
|................................................. .........................|
|................................................. .........................|
|................................................. .........................|
|................................................. .........................|
|................................................. .........................|
|................................................. .........................|
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨

¡No funciona!. Estoy empezando con ajax, php, html, etc .. y la verdad es que no sé que está pasando.

Última edición por Alberto_58; 04-abr-2008 a las 10:07. Razón: No respetaba los espacios en blanco
Alberto_58 está desconectado  
Antiguo 04-abr-2008, 10:36   #2 (permalink)
Casper2007 ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 10
De acuerdo Re: Select dependientes

hola Alberto

aqui te dejo un link que te ayudara bastante...

http://www.formatoweb.com.ar/ajax/select_dependientes.php

saludos
Casper2007 está desconectado  
Antiguo 04-abr-2008, 11:27   #3 (permalink)
Alberto_58 ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 6
Re: Select dependientes

De hecho, me baso en ese mismo código

Tengo dos select. Si ejecuto el código directamente, a pelo me funciona perfectamente pero si lo meto dentro de unas pestañas ... tal que así, no funciona. Me aparecen pero no cambia.

De hecho, lo he encontrado:

http://www.webintenta.com/wp-content/uploads/2006/11/TabsParte2.html
Alberto_58 está desconectado  
Antiguo 04-abr-2008, 11:51   #4 (permalink)
Moderador
GatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy prontoGatorV llegará a ser famoso muy pronto
 
Avatar de GatorV
 
Fecha de Ingreso: mayo-2006
Ubicación: Queretaro, Mexico
Mensajes: 11.285
Re: Select dependientes

Hola Alberto_58,

Revisa este link: HOWTO: Ejecutar javascript que viene de ajax

Saludos.
__________________
Blog Web
GatorV está desconectado  
Antiguo 04-abr-2008, 15:23   #5 (permalink)
Alberto_58 ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 6
Re: Select dependientes

Muchas gracias por responder

Pero por desgracia estoy muy muy verde en esto (he empezado hoy con Ajax).
Entiendo lo siguiente del enlace que me has dado:

1) TODO ESTO LO PONGO EN EL MISMO ARCHIVO PHP

El archivo "interpretadorAjax.js" lo incluyo así en el fichero PHP desde el cual quiero ejecutar código JavaScript y añado el código JavaScript de la opción b (que según el autor es el mejor):

<script type="text/javascript" src="interpretadorAjax.js"></script>

<script>
var scs=myAjax.responseText.extractScript(); //capturamos los scripts
myDivUoTroLugar.innerHTML=myAjax.responseText
scs.evalScript(); //ahora si, comenzamos a interpretar todo
</script>


<script type="text/javascript" src="select_dependientes.js"></script>

Este de arriba es el archivo que no pilla bien, aquí está la función "cargaContenido(idSelectOrigen)" que tiene el código JavaScript y las funciones "nuevoAjax()" y "buscarEnArray(array, dato)" que supongo que implementan AJAX.

.................................................. .................................................. ...........
.................................................. .................................................. ...........

Esta es la función que crea mi select para dar a elegir entre los cursos. Cuando cambio, se ejecuta la función "cargaContenido(this.id)".

function generaPaises() {

echo '<select name="cursos" id="cursos" onChange="cargaContenido(this.id)">';
echo '<option value="0">Elige un curso ahora</option>';

AQUÍ accedo a una base de datos MySql para obtener los cursos y añadirlos
}


2) CONTENIDO DE LA FUNCIÓN "cargaContenido".

function cargaContenido(idSelectOrigen)
{

// Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba
var posicionSelectDestino=buscarEnArray(listadoSelects , idSelectOrigen)+1;
// Obtengo el select que el usuario modifico
var selectOrigen=document.getElementById(idSelectOrige n);
// Obtengo la opcion que el usuario selecciono
var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
if(opcionSeleccionada==0)
{
var x=posicionSelectDestino, selectActual=null;
// Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito
while(listadoSelects[x])
{
selectActual=document.getElementById(listadoSelect s[x]);
selectActual.length=0;

var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Selecciona Opci&oacute;n...";
selectActual.appendChild(nuevaOpcion); selectActual.disabled=true;
x++;
}
}
// Compruebo que el select modificado no sea el ultimo de la cadena
else if(idSelectOrigen!=listadoSelects[listadoSelects.length-1])
{
// Obtengo el elemento del select que debo cargar
var idSelectDestino=listadoSelects[posicionSelectDestino];
var selectDestino=document.getElementById(idSelectDest ino);
// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
var ajax=nuevoAjax();
ajax.open("GET", "select_dependientes_proceso.php?select="+idSelect Destino+"&opcion="+opcionSeleccionada, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
selectDestino.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;
}
if (ajax.readyState==4)
{
selectDestino.parentNode.innerHTML=ajax.responseTe xt;
}
}
ajax.send(null);
}
}

El otro select, el de los alumnos, lo tengo en otro archivo PHP que se llama "select_dependientes_proceso.php" que se llama desde esta función, lo he resaltado en negrita. A lo mejor os preguntáis por qué he tenido que usar Ajax y es que, para obtener la lista de alumnos asociados al curso necesito acceder a una base de datos MySql y no se puede hacer mediante JavaScript.
Alberto_58 está desconectado  
Antiguo 07-abr-2008, 18:31   #6 (permalink)
Alberto_58 ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 6
Re: Select dependientes

Acabo de lograr que funcione . Muchas gracias !!
Alberto_58 está desconectado  
Antiguo 08-abr-2008, 08:58   #7 (permalink)
MaBoRaK tiene algunos puntos positivos de karma
 
Avatar de MaBoRaK
 
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 1.713
Enviar un mensaje por MSN a MaBoRaK
Re: Select dependientes

loading..............


Comparte con nosotros como lo solucionaste ;)


connection closed.
__________________
maborak@maborak.com
http://www.maborak.com
Maborak technologies
MaBoRaK está desconectado  
Tema Cerrado
Calificación: Calificación de Tema: 1 votos, 4,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 09:55.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93