Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/02/2007, 09:34
Avatar de alegna
alegna
 
Fecha de Ingreso: julio-2005
Mensajes: 14
Antigüedad: 18 años, 9 meses
Puntos: 0
Re: Arrays en tres dimensiones

Hola:

Gracias Panino por el enlace Me costo bastante modificarlo a gusto, es que soy un poco lenta... Quedo asi:

Cita:
<html>
<head>
<title>Ejemplo 2</title>
<!-- Definicion de estilo para los combos, para determinar un ancho fijo -->
<style type="text/css">
select{width: 200px;}
</style>
<script language="JavaScript" type="text/javascript">
/**
* variable global que almacena la opcion seleccionada en el COMBO 1
*/
var primerCombo=0;
/**
/* funcion principal COMBO 1 */

function combo()
{
/**
* Al seleccionar alguna opcion del COMBO 1 >>>
*/
if(primerCombo!=0)
{
/**
* cuando el COMBO 1 = Opcion 1 => COMBO 2 = 0 (cero)
*/
if(document.forms.form1.menu1.selectedIndex==0)
{
document.forms.form2.menu2.options[0].value="0";
document.forms.form2.menu2.options[0].text=" ";
document.forms.form2.menu2.length=1;
}
/**
* en otro caso => COMBO 3 = 0 (cero) y COMBO 2 = valor predeterminado
*/
document.forms.form2.menu2.selectedIndex=0;
document.forms.form3.menu3.options[0].value="0";
document.forms.form3.menu3.options[0].text=" ";
document.forms.form3.menu3.length=1;
}
/**
* al seleccionar Opcion 2, 3, etc... => se llama a la funcion correspondiente
*/
var indice=document.forms.form1.menu1.selectedIndex;
if(indice==1) menu1(); /*Argentina*/
if(indice==2) menu2(); /*Espan~a*/
if(indice==3) menu3(); /*Italia*/
}
/**
/* funcion principal COMBO 2 */
function combo2()
{
var indice2=document.forms.form2.menu2.selectedIndex;
if(indice2==0) submenu0();
if(indice2==1) submenu1(); /*funcion COMBO 3 cuando < COMBO 2 = Opcion 1*/
if(indice2==2) submenu2(); /*funcion COMBO 3 cuando < COMBO 2 = Opcion 2*/
if(indice2==3) submenu3(); /*funcion COMBO 3 cuando < COMBO 2 = Opcion 3*/
}
/**
* opciones del COMBO 2 cuando < COMBO 1 = Opcion 1: ARGENTINA
*/
function menu1()
{
primerCombo=1;
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("11 Buenos Aires","1-1"); /*11*/
sub2=new Option("12 Mendoza","1-2"); /*12*/
sub3=new Option("13 Tucuman","1-3"); /*13*/
document.forms.form2.menu2.options[0]=sub0;
document.forms.form2.menu2.options[1]=sub1;
document.forms.form2.menu2.options[2]=sub2;
document.forms.form2.menu2.options[3]=sub3;
}
/**
* opciones del COMBO 2 cuando < COMBO 1 = Opcion 2: ESPANIA
*/
function menu2()
{
primerCombo=2;
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("21 Cadiz","2-1"); /*21*/
sub2=new Option("22 Ourense","2-2"); /*22*/
document.forms.form2.menu2.options[0]=sub0;
document.forms.form2.menu2.options[1]=sub1;
document.forms.form2.menu2.options[2]=sub2;
}
/**
* opciones del COMBO 2 cuando < COMBO 1 = Opcion 3: ITALIA
*/
function menu3()
{
primerCombo=3;
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("31 Genova","2-1"); /*31*/
sub2=new Option("32 Palermo","2-2"); /*32*/
document.forms.form2.menu2.options[0]=sub0;
document.forms.form2.menu2.options[1]=sub1;
document.forms.form2.menu2.options[2]=sub2;
}
/**
* opciones del COMBO 3:
* despues de haber hecho una seleccion anterior > pone a cero el COMBO 3
*/
function submenu0()
{
document.forms.form3.menu3.options[0].value="0";
document.forms.form3.menu3.options[0].text=" ";
document.forms.form3.menu3.length=1;
}
/**
* funcion COMBO 3 cuando < COMBO 2 = Opcion 1
*/
function submenu1()
{
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 1 (Argentina)
* < COMBO 2 = Opcion 1 (Buenos Aires)
*/
if(primerCombo==1)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("111 Adolfo Alsina","1-1-1"); /*111*/
sub2=new Option("112 Trenque Lauquen","1-1-2"); /*111*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 2 (Espania)
* < COMBO 2 = Opcion 1 (Cadiz)
*/
if(primerCombo==2)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("211 Algodonales","2-1-1"); /*211*/
sub2=new Option("212 Villamartin","2-1-2"); /*212*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 3 (Italia)
* < COMBO 2 = Opcion 1 (Genova)
*/
if(primerCombo==3)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("311 Campo Ligure","3-1-1"); /*311*/
sub2=new Option("312 Lavagna","3-1-2"); /*312*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
}
/**
* funcion COMBO 3 cuando < COMBO 2 = Opcion 2
*/
function submenu2()
{
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 1 (Argentina)
* < COMBO 2 = Opcion 2 (Mendoza)
*/
if(primerCombo==1)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("121 Las Heras","1-2-1"); /*121*/
sub2=new Option("122 San Rafael","1-2-2"); /*122*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 2 (Espania)
* < COMBO 2 = Opcion 2 (Ourense)
*/
if(primerCombo==2)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("221 Carballeda de Avia","2-2-1"); /*221*/
sub2=new Option("222 Monterrey","2-2-2"); /*222*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 3 (Italia)
* < COMBO 2 = Opcion 2 (Palermo)
*/
if(primerCombo==3)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("321 Borgetto","3-2-1"); /*321*/
sub2=new Option("322 Sciara","3-2-2"); /*322*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
}
/**
* funcion COMBO 3 cuando < COMBO 2 = Opcion 3
*/
function submenu3()
{
/**
* Para COMBO 3 cuando:
* < COMBO 1 = Opcion 1 (Argentina)
* < COMBO 2 = Opcion 3 (Tucuman)
*/
if(primerCombo==1)
{
sub0=new Option("seleccione...","sub0","defauldSelected");
sub1=new Option("131 Monteros","1-3-1"); /*131*/
sub2=new Option("132 Tafi del Valle","1-3-2"); /*132*/
document.forms.form3.menu3.options[0]=sub0;
document.forms.form3.menu3.options[1]=sub1;
document.forms.form3.menu3.options[2]=sub2;
}
}
</script>
</head>
<body>
<table align="center">
<tr>
<td width="150">
<form name="form1">
<select name="menu1" onChange="combo()">
<option value="opcion0">
<option value="opcion1">1 Argentina
<option value="opcion2">2 Espa&ntilde;a
<option value="opcion3">3 Italia
</select>
</form>
</td>
<td width="150">
<form name="form2">
<select name="menu2" onChange="combo2()">
<option value="opcion0">
</select>
</form>
</td>
<td>
<form name="form3">
<select name="menu3">
<option value="opcion0">
</select>
</form>
</td>
</tr>
</table>
</body>
</html>
No entiendo el objeto de lo marcado en rojo en la linea:
sub0=new Option("seleccione...","sub0","defauldSelected"); pero lo deje como estaba en el original...
Tal como esta funciona en IE y Firefox. Seguramente habra mil maneras de hacerlo mejor pero yo solo pude llegar hasta aqui Por lo tanto, bienvenidas sean correcciones y comentarios de los maestros del foro. Gracias nuevamente.

Alegna