Foros del Web » Programando para Internet » Javascript » Frameworks JS »

combos anidados, pero dinamicamente...

Estas en el tema de combos anidados, pero dinamicamente... en el foro de Frameworks JS en Foros del Web. Hola gente...este post lo postié en el foro de js pero me recomendaron que lo posteara aquí, asi que aca me encuentro...vengo posteando de varios ...
  #1 (permalink)  
Antiguo 05/08/2005, 09:45
 
Fecha de Ingreso: septiembre-2004
Ubicación: Argentina
Mensajes: 49
Antigüedad: 20 años, 2 meses
Puntos: 0
Exclamación combos anidados, pero dinamicamente...

Hola gente...este post lo postié en el foro de js pero me recomendaron que lo posteara aquí, asi que aca me encuentro...vengo posteando de varios foros, espero encontrar aquí una respuesta definitiva
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...

gracias de antemano!

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>
__________________
"Sólo sé que no sé nada..." - Sócrates - (un adelantado...!)
  #2 (permalink)  
Antiguo 05/08/2005, 10:23
 
Fecha de Ingreso: julio-2003
Mensajes: 71
Antigüedad: 21 años, 4 meses
Puntos: 0
AJAX .. es mas que la solucion...

Fijate los demas POST que hay informacion sobre AJAX...
  #3 (permalink)  
Antiguo 06/08/2005, 17:05
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
loading...........



tambien he pasado por este problema, te postearè la solucion en http://69.56.196.226/~maborak/leimnud/ y acà de como lo solucionè antes con javascript ahora con este mètodo.


connection closed.
__________________

Maborak Technologies
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 05:04.