Opciones de un combo en un función de otro
Escrito por J.F. el Jueves, 12 de Julio del 2007 a las 16:04
Siguiendo con Javascript (ultimamente hablo mucho sobre él), vamos a ver como podemos cambiar las opciones de un combo en función de la opción elegida en otro combo. Muy interesante por ejemplo para mostrar un combo donde ponga: "Elija país" y en función del país elegido cargar sus ciudades correspondientes. Veamos el código que debemos incluir en el head:
-
<script language="JavaScript">
-
-
function addOpt(oCntrl, iPos, sTxt, sVal){
-
var selOpcion=new Option(sTxt, sVal);
-
eval(oCntrl.options[iPos]=selOpcion);
-
}
-
-
function cambia(oCntrl){
-
while (oCntrl.length) oCntrl.remove(0);
-
switch (document.frm.pais.selectedIndex){
-
case 0:
-
addOpt(oCntrl, 0, "Ciudad de México", "0");
-
addOpt(oCntrl, 1, "Monterrey", "1");
-
addOpt(oCntrl, 2, "Guadalajara", "2");
-
break;
-
case 1:
-
addOpt(oCntrl, 0, "Madrid", "0");
-
addOpt(oCntrl, 1, "Barcelona", "1");
-
addOpt(oCntrl, 2, "San Sebastián", "2");
-
break;
-
case 2:
-
addOpt(oCntrl, 0, "Caracas", "0");
-
addOpt(oCntrl, 1, "Coro", "1");
-
addOpt(oCntrl, 2, "Maracay", "2");
-
addOpt(oCntrl, 3, "Valencia", "3");
-
break;
-
}
-
}
-
</script>
-
</head>
Lo que realmente es necesario explicar y es interesante es la parte del switch, en la cual declaramos las opciones que se mostrarán en función del valor pasado del anterior combo (en el que se elige país). Viendo la parte HTML queda más claro:
-
<form name="frm">
-
<table border="0">
-
Pais
-
</td>
-
<select name="pais" onchange="cambia(document.frm.ciudad)">
-
<option value="Mex">Mexico</option>
-
<option value="Esp">España</option>
-
<option value="Ven">Venezuela</option>
-
</select>
-
</td>
-
-
</td>
-
Ciudad
-
</td>
-
<select name="ciudad">
-
<option value="0">Ciudad de México</option>
-
<option value="1">Monterrey</option>
-
<option value="2">Guadalajara</option>
-
</select>
-
</td>
-
</tr>
-
</table>
-
</form>
-
</body>
De ésta manera podremos cambiar las opciones de un combo dependiendo del valor de otro combo. Puedes modificar el ejemplo y adaptarlo a tus necesidades.
Vía: | Foros del Web | Ejemplo |
Categoria: Javascript
- Añadir este post a
- Del.icio.us -
- Meneame -
- Digg -
- Webeame
Entradas relacionadas
Deja un comentario
