Foros del Web » Programando para Internet » Javascript »

Problema con 2 listas dependientes

Estas en el tema de Problema con 2 listas dependientes en el foro de Javascript en Foros del Web. Perdonar porque no se si esto se puede preguntar aqui pero resulta que es la primera vez que entro y ando un poco perdido. si ...
  #1 (permalink)  
Antiguo 03/01/2011, 17:21
 
Fecha de Ingreso: enero-2011
Mensajes: 16
Antigüedad: 13 años, 2 meses
Puntos: 1
Problema con 2 listas dependientes

Perdonar porque no se si esto se puede preguntar aqui pero resulta que es la primera vez que entro y ando un poco perdido. si esto no se puede preguntar aqui os pido disculpas.

Vereis necesito enlazar 2 listas de forma dependiente la una de la otra y he encontrado el siguiente código que me puede valer pero me hace falta que cada una de las ciudades que aparece en la segunda lista tenga un enlace con una determinada direccion web ejemplo:(http://mipagina.com)y necesito un boton para que al seleccionar la ciudad lo pulse y me enlace con la direccion web que corresponde con esa ciudad. Tengo que deciros que mis conocimientos son minimos por eso no utilizo PHP ni bases de datos ni ninguna otra cosa porque el Javascript ya de hecho me desborda.

Gracias por vuestra ayuda:

*****************************************
*****************************************
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Listas desplegables dependientes 2</title>
</head>

<p align="center"><b>Listas desplegables dependientes 2
<script LANGUAGE="JavaScript">


<!-- Begin
var africaArray = new Array("('Selecciona país','',true,true)",
"('Ethiopia')",
"('Somalia')",
"('South Africa')",
"('Other')");
var middleeastArray = new Array("('Select country','',true,true)",
"('Egypt')",
"('Iran')",
"('Israel')",
"('Kuwait')",
"('Other')");
var asiaArray = new Array("('Select country','',true,true)",
"('Armenia')",
"('Bangladesh')",
"('Cambodia')",
"('China')",
"('Other')");
var europeArray = new Array("('Select country','',true,true)",
"('Albania')",
"('Austria')",
"('Belarus')",
"('Belgium')",
"('Other')");
var australiaArray = new Array("('Select country','',true,true)",
"('Australia')",
"('New Zealand')",
"('Other')");
var lamericaArray = new Array("('Select country','',true,true)",
"('Costa Rica')",
"('Cuba')",
"('El Salvador')",
"('Guatemala')",
"('Other')");
var namericaArray = new Array("('Select country','',true,true)",
"('Canada')",
"('USA')",
"('Other')");
var samericaArray = new Array("('Select country','',true,true)",
"('Argentina')",
"('Bolivia')",
"('Brazil')",
"('Chile')",
"('Other')");
function populateCountry(inForm,selected) {
var selectedArray = eval(selected + "Array");
while (selectedArray.length < inForm.country.options.length) {
inForm.country.options[(inForm.country.options.length - 1)] = null;
}
for (var i=0; i < selectedArray.length; i++) {
eval("inForm.country.options[i]=" + "new Option" + selectedArray[i]);
}
if (inForm.region.options[0].value == '') {
inForm.region.options[0]= null;
if ( navigator.appName == 'Netscape') {
if (parseInt(navigator.appVersion) < 4) {
window.history.go(0);
}
else {
if (navigator.platform == 'Win32' || navigator.platform == 'Win16') {
window.history.go(0);
}
}
}
}
}
function populateUSstate(inForm,selected) {
var stateArray = new Array("('Select State','',true,true)",
"('Alabama')",
"('Alaska')",
"('Arizona')",
"('Arkansas')",
"('Wyoming')");
if (selected == 'USA') {
for (var i=0; i < stateArray.length; i++) {
eval("inForm.country.options[i]=" + "new Option" + stateArray[i]);
}
if ( navigator.appName == 'Netscape') {
if (parseInt(navigator.appVersion) < 4) {
window.history.go(0)
}
else {
if (navigator.platform == 'Win32' || navigator.platform == 'Win16') {
window.history.go(0)
}
}
}
}
else {
}
if (selected == 'Other') {
newCountry = "";
while (newCountry == ""){
newCountry=prompt ("Please enter the name of your country.", "");
}
if (newCountry != null) {
inForm.country.options[(inForm.country.options.length-1)]=new Option(newCountry,newCountry,true,true);
inForm.country.options[inForm.country.options.length]=new Option('Other, not listed','Other');
}
}
if(inForm.country.options[0].text == 'Select country') {
inForm.country.options[0]= null;
}
}
// End -->
</script>
</head>

<!-- STEP TWO: Add the last coding to the BODY of your HTML document -->
</b>
<body>

</p>

<center>
<form name="globe">
<p>
<select name="region" onChange="populateCountry(document.globe,document. globe.region.options[document.globe.region.selectedIndex].value)">
<option selected>Selecciona Región</option>
<option value="asia">Asia</option>
<option value="africa">Africa</option>
<option value="australia">Australia</option>
<option value="europe">Europa</option>
<option value="middleeast">Medio Oriente</option>
<option value="lamerica">América Latina</option>
<option value="namerica">América del Norte</option>
<option value="samerica">América del Sur</option>
</select>
<select name="country" onChange="populateUSstate(document.globe,document. globe.country.options[document.globe.country.selectedIndex].text)">
<option value>&lt;--------------------</option>
</select> </p>
</form>
</center>
<p></p>
<center>
<p>&nbsp;</p>
</center>
<p></p>

</body>

</html>

*****************************************
*****************************************

Etiquetas: dependientes, listas
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:24.