Foros del Web » Programando para Internet » Javascript »

Aparecer un select con otro select

Estas en el tema de Aparecer un select con otro select en el foro de Javascript en Foros del Web. Saludos !!! Tengo un Select con los paíces del mundo, entre ellos, por su puesto Colombia. La idea es que cuando se seleccione Colombia, aparezca, ...
  #1 (permalink)  
Antiguo 04/05/2005, 21:44
 
Fecha de Ingreso: enero-2002
Mensajes: 124
Antigüedad: 22 años, 10 meses
Puntos: 0
Pregunta Aparecer un select con otro select

Saludos !!!

Tengo un Select con los paíces del mundo, entre ellos, por su puesto Colombia. La idea es que cuando se seleccione Colombia, aparezca, en la fila siguiente de la tabla un nuevo Select que ya esta creado, con las ciudades de este país.

Como puedo hacer esto?
  #2 (permalink)  
Antiguo 05/05/2005, 01:02
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Hola cadapo

Prueba con esto:
Código:
<form>
<select onchange = "colo.style.display = (this.selectedIndex==1) ? 'block' : 'none'">
<option>Chile</option>
<option>Colombia</option>
</select>
<select name="colo" style="display:none">
<option>Bogotá</option>
</select>
</form>
Saludos,
  #3 (permalink)  
Antiguo 06/05/2005, 12:38
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
Pregunta como puedo aplicar esto para un select multiple

Hola amigos es fabulos el script que comentan arriba
pero como puedo hacerlo para un select mutiple
__________________
gerardo
  #4 (permalink)  
Antiguo 07/05/2005, 03:49
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 3 meses
Puntos: 5
Hola a todos.

Chusete con un select-multiple puede ser un poco complicado, podrias poner un ejemplo del código html y explicar un poco más detalladamente el resultado que quieres obtener, a veces soy un poco burro y me voy por los cerros de Úbeda.

Saludos
  #5 (permalink)  
Antiguo 07/05/2005, 04:07
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 3 meses
Puntos: 5
Disculpa chalchis, dondé puse Chusete, quise poner tu nick.
Llevo un temporada que no doy pie con bola .
  #6 (permalink)  
Antiguo 07/05/2005, 11:24
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
Pregunta ok ahi va

function getSelectedValues(select)
{
var r = new Array();
var este
for (var i = 0; i < select.options.length; i++)
{
if (select.options[i].selected)
{
r[r.length] = select.options[i].value;
este=select.options[i].value;
//alert(este);
document.getElementById(este).style.display = (document.getElementById(este).style.display) ? "none" : "block";
}

//return r;
}
alert(r);
document.getElementById(este).style.display='block ';



}


<select name="programas[]" id="programas" multiple class="selectx" style="height:100px" onchange="getSelectedValues(this)">
<optgroup label="Licenciaturas"><option value="ia">Informática Administrativa</option><option value="ci">Comercio Internacional</option><option value="cp">Contaduría Pública</option><option value="lc">Comunicación y Publicidad</option><option value="lm">Mercadotecnia</option><option value="ii">Ing. Industrial en Operaciones Internacionales</option></OPTGROUP><optgroup label="Maestrias"><option value="mcp">Ciencias Políticas y Gestión Pública</option><option value="md">Docencia</option><option value="ma">Administración</option><option value="mef">Economía y Finanzas Internacionales</option><option value="mti">Tecnologias de la Información</option><option value="me">Educación</option></OPTGROUP><optgroup label="Especialidades"><option value="ef">Finanzas</option><option value="ead">Alta Dirección</option><option value="em">Mercadotecnia</option><option value="eti">Tecnologías de Información</option><option value="ep">Publicidad</option></OPTGROUP>
</select>

aqui son unas listas ocultas que deben aparecer de acuerdo a la opcion
que seleccionaste en el select de arriba

<select name="ia" id="sem" style="display:none" multiple>
<option>ia</option>
</select>
<select name="ci" id="sem" style="display:none">
<option>ci</option>
</select>
<select name="cp" id="sem" style="display:none">
<option>cp</option>
</select>
<select name="lc" id="sem" style="display:none">
<option>lc</option>
</select>
<select name="lm" id="sem" style="display:none">
<option>lm</option>
</select>
<select name="ii" id="sem" style="display:none">
<option>ii</option>
</select>
__________________
gerardo
  #7 (permalink)  
Antiguo 10/05/2005, 16:08
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 3 meses
Puntos: 5
Hola chalchis
Tal vez ya lo hayas resulto, básicamente es como obtener los valores de un select-multiple.

Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<script language=JavaScript type=text/javascript>
<!--
function display_select(cf) {
 
       for (var ctr = 0; opt = cf.options[ctr]; ctr++) {
           if (opt.selected) document.formulario[opt.value].style.display ="inline";
			else document.formulario[opt.value].style.display = "none";
       
    }
     
}


//-->
</script>
</head>
<body>
<form name="formulario">
<select name="programas[]" id="programas" multiple class="selectx" style="height:100px" onchange="display_select(this)">
<optgroup label="Licenciaturas">
<option value="ia">Informática Administrativa</option>
<option value="ci">Comercio Internacional</option>
<option value="cp">Contaduría Pública</option>
<option value="lc">Comunicación y Publicidad</option>
<option value="lm">Mercadotecnia</optgroup>
</select><br>

<select name="ia" id="sem" style="display:none" multiple>
<option>ia</option>
</select>
<select name="ci" id="sem" style="display:none">
<option>ci</option>
</select>
<select name="cp" id="sem" style="display:none">
<option>cp</option>
</select>
<select name="lc" id="sem" style="display:none">
<option>lc</option>
</select>
<select name="lm" id="sem" style="display:none">
<option>lm</option>
</select>
<select name="ii" id="sem" style="display:none">
<option>ii</option>
</select>
</form>
</body>
</html>
Saludos
  #8 (permalink)  
Antiguo 10/05/2005, 16:12
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
ok

Gracias por contestar
__________________
gerardo
  #9 (permalink)  
Antiguo 10/05/2005, 16:27
 
Fecha de Ingreso: agosto-2004
Mensajes: 157
Antigüedad: 20 años, 3 meses
Puntos: 5
De nada
  #10 (permalink)  
Antiguo 10/05/2005, 16:31
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 21 años, 4 meses
Puntos: 21
aqui va el codigo por si las dudas

<html>
<head>
<title></title>

<script language="JavaScript" type="text/javascript">
<!--



function display_selected(cf) {

var cuantos = 0, msg ="";
var label_optg = ""
for (var ctr = 0; opt = cf.options[ctr]; ctr++) {
if(opt.parentNode.label) label_optg = opt.parentNode.label
if (opt.selected) {
msg += " - " + opt.text + "\n";
cuantos++;
}
}
alert ((cuantos > 1 ? "Ha seleccionado " + cuantos + " elementos":cuantos == 0 ?"No ha seleccionado ningún elemento":"Ha seleccionado " + cuantos + " elemento") +
" en " + label_optg +":\n" + msg )


}

//-->
</script>

</head>
<body>

<form>

<br>
<form name="formulario">
<select name="programas[]" id="programas" multiple class="selectx" style="height:100px" onchange="display_selected(this) ">
<optgroup label="Licenciaturas"><option value="ia">Informática Administrativa</option>
<option value="ci">Comercio Internacional</option>
<option value="cp">Contaduría Pública</option>
<option value="lc">Comunicación y Publicidad</option>
<option value="lm">Mercadotecnia</option>
<option value="ii">Ing. Industrial en Operaciones Internacionales</option>
</optgroup>
</select>



</form>


</body>
</html>
__________________
gerardo
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 18:41.