Foros del Web » Programando para Internet » PHP »

Arrays (Lista/Menu)

Estas en el tema de Arrays (Lista/Menu) en el foro de PHP en Foros del Web. Quisiera poder tner en mi web una lista menu con los paises, q cuando selecciones por ejemplo españa, te aparezca la opcion de provincias con ...
  #1 (permalink)  
Antiguo 18/10/2006, 03:56
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 10 meses
Puntos: 0
Arrays (Lista/Menu)

Quisiera poder tner en mi web una lista menu con los paises, q cuando selecciones por ejemplo españa, te aparezca la opcion de provincias con las provincias validas para españa insertadas en ese formulario, lo mismo si lo hace al tomar por ejemplo brasil...tengo algo en html k funciona con js pero no me corre bien...miren algo del codigo de fuene a ver si alguien comprende.


<script language="JavaScript">
function abrirVentana() {

}

function reemplazarGuion(cadena){
var re, r, result;
re = /_/i;

r = cadena.replace(re," ");

re = /Espana/i;
result = r.replace(re,"Espa\xf1a");
return(result);
}

function reemplazarEspacio(cadena){
var re, r;
re = /\s/i;
r = cadena.replace(re,"_");
re = /Espa\xf1a/i;
result = r.replace(re,"Espana");
return(result);
}

function pais() {
var p2;
p=document.formu.Country[document.formu.Country.selectedIndex].value;
p2 = reemplazarGuion(document.formu.Country[document.formu.Country.selectedIndex].value);
document.formu.Country[document.formu.Country.selectedIndex].value = p2;

//predeterminado selecciona pais
var pais_0=new Array("0")
var paisstnames_0=new Array("Seleccionar Pais")
// Argentina
var pais_1=new Array("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")
var paisstnames_1=new Array("-Selecciona provincia-","Capital Federal","Buenos Aires","Catamarca","Chaco","Chubut","Cordoba","Cor rientes","Entre Rios","Formosa","Jujuy","La Pampa","La Rioja","Mendoza","Misiones","Neuquen","Patagonia", "Rio Negro","Salta","San Juan","San Luis","Santa Cruz","Santa Fe","Santiago del Estero","Tierra del Fuego","Tucumán","resto")

//Bolivia
var pais_2=new Array("0","1","2","3","4","5","6","7","8","9","10" )
var paisstnames_2=new Array("-Selecciona provincia-","Chuquisaca","La Paz","Cochabamba","Oruro","Potosí","Tarija","Sant a Cruz","Beni","Pando","resto")

.........

//el resto de arrays se crea en el siguiente for
for (xi=22;xi<=238;xi++){
eval ("pais_" + xi + "=new Array('0','1')")
eval ("paisstnames_" + xi + " =new Array('-Seleccione Provincia-','No disponible')")
}
seleccion=eval("pais_"+p);
seleccionNames=eval("paisstnames_"+p);
cuantos_add=seleccion.length;
document.formu.State.length=cuantos_add;
for(i=0;i<cuantos_add;i++){
document.formu.State.options[i].value=seleccion[i];
document.formu.State.options[i].text=seleccionNames[i];
if (seleccion[i]=="<!-- STATEID -->") {
document.formu.State.options[i].selected = true;
}
//si al pais de de los q no estan definidos la provincia se pone por defecto en no disponible es decir la option[1]
if (p>=23) document.formu.State.options[1].selected = true;
}
}

function cambiapais_y_provincia()
{
document.formu.Country.options[npais].selected = true;
pais();
document.formu.State.options[nprov].selected = true;
}

</script>


Este seria la parte donde seleccionas el pais...
<select name="Country" OnChange="javascript:pais();">
<option value="0">Seleccione Pa&iacute;s</option> <option value="1" >Argentina

y este para ver las provincias

<select name=State class="Estilo3">
<option value="cero">Seleccione Pa&iacute;s
</select>
__________________
Tengo una duda...
  #2 (permalink)  
Antiguo 18/10/2006, 05:58
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Esto iría mejor en ajax xD
  #3 (permalink)  
Antiguo 18/10/2006, 07:29
 
Fecha de Ingreso: junio-2003
Ubicación: Frente al monitor
Mensajes: 508
Antigüedad: 20 años, 10 meses
Puntos: 0
weno, lo q pasa es k lo kiero hacer en php...y si no es el foro q lo muevan entonces
__________________
Tengo una duda...
  #4 (permalink)  
Antiguo 18/10/2006, 07:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
La solución -sólo- PHP la tienes en las FAQ's (toma datos de una BBDD en ese caso relacionada):

http://www.forosdelweb.com/showthrea...999#post664999

Otras soluciones al problema pasan por:
* AJAX (tenemos un foro para tal fin ...) ó "Remote Scripting" (en la FAQ que te mencioné tienes un link a esta técnica).
* Hibridos Javacript+PHP (se generan esos arrays javascript desde PHP).
* Sólo Javascript (el código que indicas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 07:51.