Foros del Web » Programando para Internet » ASP Clásico »

3 combox dependientes , algun ejemplo ?

Estas en el tema de 3 combox dependientes , algun ejemplo ? en el foro de ASP Clásico en Foros del Web. Necesito un ejemplo de 3 combox de dependientes entre si , habra algun ejemplo ? , de dos combox ya hice una aplicacion pero con ...
  #1 (permalink)  
Antiguo 07/06/2004, 08:18
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 9 meses
Puntos: 0
3 combox dependientes , algun ejemplo ?

Necesito un ejemplo de 3 combox de dependientes entre si , habra algun ejemplo ? , de dos combox ya hice una aplicacion pero con 3 no se como hacerlo.

Lo que intento hacer es lo siguiente supongamos que tengo un combo

En este combo figura una: Marca de Coche , este lo toma de una tabla

Dependiendo de este se abre otro combo que toma el modelo del coche tambien lo toma de la tabla .

Y lo que quiero que con este segundo combo se abra otro mas con la serie segun el modelo .

Alguien me podra ayudar ???? Gracias

  #2 (permalink)  
Antiguo 07/06/2004, 08:41
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
Si ya hiciste dos, no creo te sea dificil agregarle uno mas.
Si "modificaste" un script que ligaba dos combos y ahora deseas modificar uno que lige tres combos, pues te será más dificil por que los que hay tienen algo rebuscada su lógica. En el registro de usuario de mercadolibre.com.mx, hay tres combos ligados (pais, estado y ciudad).
Te aconsejo que mejor gastes tiempo en intentar hacerlo tú, por que luego cuando sean 4 o cinco, pues, seguiras batallando.

Saludos.
  #3 (permalink)  
Antiguo 07/06/2004, 10:57
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 22 años
Puntos: 1
Y de paso podrías pegar el código, más que nada para ver que funciona y que lo tienes, que es muy facil pedir ;)
  #4 (permalink)  
Antiguo 07/06/2004, 11:23
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 9 meses
Puntos: 0
Gracias por su onda , no se preocupen me arreglo solo . bay
  #5 (permalink)  
Antiguo 11/06/2004, 17:54
(Desactivado)
 
Fecha de Ingreso: agosto-2002
Mensajes: 1.458
Antigüedad: 22 años, 9 meses
Puntos: 0
Alguien como buena onda que quiera ayudar ? por favor malas ondas abstenerse GRACIAS
  #6 (permalink)  
Antiguo 12/06/2004, 09:44
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 22 años
Puntos: 1
Pero a ver hugorei, llamas a la BBDD cada vez que se selecciona una nueva opción del Select o lo cargas todo en la Página Web y luego trabajas sobre Javascript ?

Es que chico, das muy pocas explicaciones.

También podrías pegar el código que tienes, para ver de que forma lo haces, si es la correcta, si no lo es, si es complicado, si no lo es, si cuando haces un "onChange" recargas el siguiente "Select" vía ASP o mediante Javascript .... hay un montón de preguntas, y muy poca información.

Y en cuanto a la Onda, pues hombre... la verdad es que es muy facil entrar y decir...
ALGÚN EJEMPLO DE 3 COMBO DEPENDIENTES !!! sin dar ningún tipo de información. Aquí estamos para ayudar, no para crear. No te lo tomes a mal, pero es que hay cada uno suelto por ahí que es para alucinar ;)

No obstante, mírate esto. Esta hecho en Javascript (por lo que este no es su sitio) aunque te lo pongo para que tu veas como funciona, y luego, si quieres, lo "amoldes" para trabajar con ASP (que supongo será la finalidad)

Código PHP:
<FORM name="form1">
<
table border="0" cellspacing="0" cellpadding="0">
  <
tr align="center"
    <
td nowrap height="11"> &nbsp;
 <
select name="campo1" size="1" onChange="redirect(this.options.selectedIndex)">
 <
option selected>Selecciona Marca</option>
 <
option>Audi</option>
 <
option>Seat</option>
 </
select>
 <
select name="campo2" size="1" onChange="redirect1(this.options.selectedIndex)">
 <
option value="" selected>----------------------</option>
 </
select>
 <
select name="campo3" size="1" onChange="redirect2(this.options.selectedIndex)">
 <
option value="" selected>----------------------</option>
 </
select>
<
script>
<!--
var 
grupos=document.form1.campo1.options.length
var grupo=new Array(grupos)
for (
i=0i<gruposi++)
grupo[i]=new Array()
grupo[0][0]=new Option("----------------------"," ");
grupo[1][0]=new Option("Seleciona Modelo"," ");
grupo[1][1]=new Option("A3","A3");
grupo[1][2]=new Option("A4","A4");
grupo[2][0]=new Option("Seleciona Modelo"," ");
grupo[2][1]=new Option("Leon","Leon");
grupo[2][2]=new Option("Ibiza","Ibiza"); 
var 
temp=document.form1.campo2

function redirect(x){
for (
m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<grupo[x].length;i++){
temp.options[i]=new Option(grupo[x][i].text,grupo[x][i].value)
}
temp.options[0].selected=true
redirect1
(0)
}
 
var 
grupos2=document.form1.campo2.options.length
var grupo2=new Array(grupos)
for (
i=0i<gruposi++)  {
grupo2[i]=new Array(grupo[i].length)
for (
j=0j<grupo[i].lengthj++)  {
grupo2[i][j]=new Array()  }}
grupo2[0][0][0]=new Option("----------------------"," ");
grupo2[1][0][0]=new Option("----------------------"," ");
grupo2[1][1][0]=new Option("Seleciona una Serie"," ");
grupo2[1][1][1]=new Option("TDi 130 CV","1");
grupo2[1][1][2]=new Option("AMBITTION TDi 110","2");
grupo2[1][2][0]=new Option("Seleciona una Serie"," ");
grupo2[1][2][1]=new Option("AVANT 1.9 TDi","3");
grupo2[1][2][2]=new Option("AVANT 1.9T QUATTRO","4");
grupo2[2][0][0]=new Option("----------------------"," ");
grupo2[2][1][0]=new Option("Seleciona una Serie"," ");
grupo2[2][1][1]=new Option("1.8 20vt","5");
grupo2[2][1][2]=new Option("1.9 TDi SPORT","6");
grupo2[2][2][0]=new Option("Seleciona una Serie"," ");
grupo2[2][2][1]=new Option("1.8 5 Puertas","7");
grupo2[2][2][2]=new Option("SDI ESTRELLA","8");
var 
temp1=document.form1.campo3
function redirect1(y){
for (
m=temp1.options.length-1;m>0;m--)
temp1.options[m]=null
for (i=0;i<grupo2[document.form1.campo1.options.selectedIndex][y].length;i++){
temp1.options[i]=new Option(grupo2[document.form1.campo1.options.selectedIndex][y][i].text,grupo2[document.form1.campo1.options.selectedIndex][y][i].value)
}
temp1.options[0].selected=true
}
function 
redirect2(z){
window.location="http://www.dominio.com?ID=" temp1[z].value
}
//-->
</script>
   </td>
  </tr>
</table>
</FORM> 
Un Saludo
  #7 (permalink)  
Antiguo 25/06/2004, 14:01
 
Fecha de Ingreso: junio-2002
Mensajes: 50
Antigüedad: 22 años, 11 meses
Puntos: 0
3 combo box

si hablan de datos q se van a leer de un BD para llenar un combo box me imagino q la BD este normalizada, y q profundicen los q conocen de BD, xq de lo contrario sería muy complicada la lógica.
no quiero entrar en codigos, pero si explicar como entiendo la solucion:
1. llenas el primer combo con los paises, por ejemplo; lo muestras y una vez seleccionado el pais haces un submit a esa misma asp page
2. preguntas por el contenido del combo de los paises y conformas tu sql para llenar el segundo con los estados de ese pais, lo muestras y una vez seleccionado otro submit
3. preguntas por el contenido del combo de los estado y creas tu sql para llenas el combo de las ciudades del estado seleccionado, lo muestras y una vez seleccionado haces un tercer submit
y asi sucesivamente, fijense q siempre es sobre la misma asp page.
si supiera como leer variables desde un script asp en un script del lado del cliente seria muy sencillo.

salu2

jaba
  #8 (permalink)  
Antiguo 25/06/2004, 15:23
Avatar de LeCLUB  
Fecha de Ingreso: abril-2003
Ubicación: Barcelona (España)
Mensajes: 205
Antigüedad: 22 años
Puntos: 1
jabathejub, esa es una opción, pero:

y si no te interesa que se recargue la web ? (pesa demasiado, sobrecargas de servidor, imágenes, etc etc etc etc, o simplemente porque no quieres)

Entonces tendrás que utilizar esta forma, cargar TODOS los datos de la BBDD y enviarlos al navegador, y medienta Javascript ir mostrando lo que interesa.
__________________
Documentación de VBScript V5.6 en Español:
http://download.microsoft.com/downlo...ES/scd56es.exe
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 19:02.