Foros del Web » Programando para Internet » Javascript »

Consulta...Muestre un select dependiente de otro select

Estas en el tema de Consulta...Muestre un select dependiente de otro select en el foro de Javascript en Foros del Web. Hola amigos, tengo la siguiente consulta a realizar: 1. Tengo un select rp: <select name="tipo_doc" id="tipo_doc"> <option selected="selected">Elige</option> <option>DNI</option> <option>Carnet de Extranjería</option> </select> 2. Y ...
  #1 (permalink)  
Antiguo 30/09/2009, 18:42
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 11 meses
Puntos: 2
Pregunta Consulta...Muestre un select dependiente de otro select

Hola amigos, tengo la siguiente consulta a realizar:
1. Tengo un select rp:

<select name="tipo_doc" id="tipo_doc">
<option selected="selected">Elige</option>
<option>DNI</option>
<option>Carnet de Extranjería</option>
</select>

2. Y en otro select muestro segun lo enviado por el anterior, de la sgte manera:

2.1. Si seleccione DNI me mostrara en select II:

<select name="select ii">
<option selected="selected">Elige</option>
<option>Soles</option>
<option>Dolares</option>
</select>

2.2. Pero si seleccione Carnet de extranjeria me mostrara en el mismo select II:

<select name="select ii">
<option selected="selected">Elige</option>
<option>Dolares</option>
<option>Euros</option>
<option>Pesos</option>
</select>

Agradesco de antemano sus colaboraciones, me despido


Willy S.
  #2 (permalink)  
Antiguo 01/10/2009, 00:37
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 7 meses
Puntos: 66
Respuesta: Consulta...Muestre un select dependiente de otro select

hola hoberwilly,

puedes añadir options a tu select de esta manera:

tu_select.options[tu_select.length] = new Option(texto,valor);

donde tu_select es tu objeto select, texto será un string con el texto que aparezca en el select y valor es el value que quieras dar a tu option del select.

Para quitar options de tu select puedes hacer esto otro:

for(var iItem=0;iItem<el_select.options.length;iItem++)
{
el_select.options[iItem] = null;
iItem--;
}
De esta manera eliminas todos los options de tu select. Ya sabiendo esto puedes ejecutar funciones de añadido y eliminación de options en función de la opción que haya seleccionado el usuario.

salu2
  #3 (permalink)  
Antiguo 01/10/2009, 00:40
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 15 años, 7 meses
Puntos: 66
Respuesta: Consulta...Muestre un select dependiente de otro select

otra cosa que me había olvidado de comentarte,

otra opción tal vez un tanto más 'cutre' pero efectiva es crearte dos select; uno con el option 'Euro' y otro sin él. En función de lo que seleccione el usuario puedes mostrar uno u otro (utilizando display:none/inline), sin necesidad de añadir o quitar elementos al select.

como quieras...

salu2
  #4 (permalink)  
Antiguo 01/10/2009, 03:38
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 5 meses
Puntos: 8
Respuesta: Consulta...Muestre un select dependiente de otro select

Hola,

También podrías tener los dos selects construidos y hacer uno u otro visible segun te convenga... Quizás te parece cutre, pero te ahorras el tener que montar y desmontar los selects.

Saludos.
  #5 (permalink)  
Antiguo 01/10/2009, 12:34
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Consulta...Muestre un select dependiente de otro select

Hola amigos, gracias por sus sugerencias...estoy tratando de documentarme un poco mas pero no encuentro algo similar para mi caso.

Esto es lo que avanze:
1. Opte por tener dos selects II-A y II-B

<select name="select II-A" style="visibility:hidden">
<option selected="selected">Elige</option>
<option>Soles</option>
<option>Dolares</option>
</select>

<select name="select II-B" style="visibility:hidden">
<option selected="selected">Elige</option>
<option>Dolares</option>
<option>Euros</option>
<option>Pesos</option>
</select>

2. Pero lo que no la doy es como implementarlo al primer select:

<select name="tipo_doc" id="tipo_doc">
<option selected="selected">Elige</option>
<option>DNI</option>
<option>Carnet de Extranjería</option>
</select>

para que al seleccionar DNI...Se visualize el select II-A
y que al seleccionar CARNET DE EXTRANJERIA ...Se visualize el select II-B


Les agradesco mucho su apoyo.
  #6 (permalink)  
Antiguo 03/10/2009, 06:16
Avatar de hoberwilly  
Fecha de Ingreso: julio-2008
Ubicación: Lima - Perú
Mensajes: 769
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: Consulta...Muestre un select dependiente de otro select

Buen dia amigos,

Solo para compartir mi humilde solucion, para que en algun momento a alguna persona como yo quizas le pueda ser útil.

Me base en el link de caricatos:
http://www.forosdelweb.com/f13/mostr...-radio-199855/

...pero lo adapte segun mis necesidades (2 selects dependientes de un primer select):

1. Este es mi primer select:

<select name="tipo_doc" id="tipo_doc" onchange="visible(this.value)">
<option selected="selected">Elige</option>
<option value=1>DNI</option>
<option value=2>Carnet de Extranjería</option>
</select>

2. Estos son mis dos selects dependientes del primero:
<select name="select 2.1" id="select 2.1" style="width:200px;display: none;">
<option selected="selected">Elige</option>
<option>Soles</option>
<option>Nuevos Soles</option>
</select>

<select name="select 2.2" id="select 2.2" style="width:200px;display: none;">
<option selected="selected">Elige</option>
<option>Dolares</option>
<option>Euros</option>
<option>Pesos</option>
</select>


3. Este el codigo js:

function visible(dato){
document.formu.select 2.1.style.display = (dato == "1") ? "none" : "inline";
document.formu.select 2.2.style.display = (dato == "2") ? "none" : "inline";
document.formu.select 2.1.disabled = (dato == "1") ? true : false;
document.formu.select 2.2.disabled = (dato == "2") ? true : false;
}

y listo.


Saludos,
Willy S.
  #7 (permalink)  
Antiguo 03/10/2009, 07:54
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 5 meses
Puntos: 126
Respuesta: Consulta...Muestre un select dependiente de otro select

Hola

La solución que planteas es totalmente válida. Pero y si no sabes la cantidad de elementos, por que se crearán dinámicamente, entonces deberías de usar esta otra función

Código javascript:
Ver original
  1. var valor = null;
  2. function funcion(elem) {
  3.   obj = document.getElementById(elem);
  4.   obj.style.display = (obj==valor) ? 'none' : 'block';
  5.   if (valor != null)
  6.     valor.style.display = 'none';
  7.   valor = (obj==valor) ? null : obj;
  8. }


Código html:
Ver original
  1. onchange = "funcion(document.getElementById(this.options[this.selectedIndex].value))"

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 13:34.