Foros del Web » Programando para Internet » Javascript »

combos anidados, pero dinamicamente...

Estas en el tema de combos anidados, pero dinamicamente... en el foro de Javascript en Foros del Web. Hola gente...tengo el siguiente código en js que me vincula el combo países con el de sus ciudades respectivas. Funciona bien si se agregan los ...
  #1 (permalink)  
Antiguo 04/08/2005, 10:27
 
Fecha de Ingreso: septiembre-2004
Ubicación: Argentina
Mensajes: 49
Antigüedad: 19 años, 7 meses
Puntos: 0
Mensaje combos anidados, pero dinamicamente...

Hola gente...tengo el siguiente código en js que me vincula el combo países con el de sus ciudades respectivas. Funciona bien si se agregan los datos manualmente. Mi problema es que necesito adaptarlo para que funcione dinamicamente, es decir que tome los datos de los países y ciudades de una base de datos. Intenté hacerlo con php pero se complicaba para relacionarlo con js...bueno, espero que alguno sepa como...

el código es:

<html>
<head>
<script language="JavaScript">

/* Trae desde la base de datos los nombres de los paises */
/* y colóos en este arreglo. */
var aPaises = new Array(" ","Mexico","Espana","Venezuela"
);

var aEstados0 = new Array(
" "
);

/* Trae desde la base de datos los nombres de las ciudades */
/* de cada uno de los paises de la lista anterior y ponlos */
/* en arreglos individuales. */
var aEstados1 = new Array(" ","Ciudad de Mexico","Monterrey","Guadalara"
);

var aEstados2 = new Array(" ","Madrid","Barcelona","San Sebastian"
);

var aEstados3 = new Array(" ","Caracas","Coro","Maracay","Valencia"
);

/* Arma un arreglo general de estados a partir de los arreglos */
/* anteriores. Es importante que cada arreglo comience por un */
/* valor en blanco y que el primer arreglo de ciudades, llamado */
/* aqui aEstados0, no contenga ningúemento. */
var aEstados = new Array( aEstados0, aEstados1, Estados2, aEstados3
);

function opcion(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}

function cambia(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aEstados[nSelected].length; i++)
opcion(oCntrl, i, aEstados[nSelected][i], String(i));
}

function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aPaises.length; i++)
opcion(oCntrl, i, aPaises[i], String(i));
}

</script>
</head>
<body>
<form name="frm">
Pais
<select name="pais" onchange="cambia(this, document.frm.ciudad)">
<option value=" ">&nbsp;</option>
</select>
&nbsp;&nbsp;&nbsp;
Ciudad
<select name="ciudad">
<option value=" ">&nbsp;</option>
</select>
</form>
<script language="JavaScript">
llena(document.frm.pais);
</script>
</body>
</html>
  #2 (permalink)  
Antiguo 05/08/2005, 07:48
 
Fecha de Ingreso: septiembre-2004
Ubicación: Argentina
Mensajes: 49
Antigüedad: 19 años, 7 meses
Puntos: 0
nadie tiene idea???
  #3 (permalink)  
Antiguo 05/08/2005, 09:28
Avatar de xavivars  
Fecha de Ingreso: enero-2002
Ubicación: Benissa - la Marina Alta
Mensajes: 212
Antigüedad: 22 años, 3 meses
Puntos: 1
Si haces esta pregunta en el foro de Ajax, seguramente alli te podran ayudar (yo todavia no domino muy bien esa tecnologia).

Se trata de hacer una petición HTTP mediante javascript, de manera que puedes pedir datos al servidor sin tener que recargar la página de nuevo. Saludos!
  #4 (permalink)  
Antiguo 05/08/2005, 09:33
 
Fecha de Ingreso: septiembre-2004
Ubicación: Argentina
Mensajes: 49
Antigüedad: 19 años, 7 meses
Puntos: 0
ok, lo posteare en ese foro...pense que era más sencillo!

gracias xavivars!
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 09:24.