Foros del Web » Programando para Internet » Javascript »

Al hacer click en checkbox, aparezca un select

Estas en el tema de Al hacer click en checkbox, aparezca un select en el foro de Javascript en Foros del Web. Hola a todos! Mi intencion es hacer lo siguiente. Tengo los dos inputs siguientes: Código HTML: <input name= "Oferta" type= "checkbox" id= "Oferta" value= "1" ...
  #1 (permalink)  
Antiguo 25/07/2014, 09:06
 
Fecha de Ingreso: febrero-2014
Mensajes: 60
Antigüedad: 10 años, 1 mes
Puntos: 0
Al hacer click en checkbox, aparezca un select

Hola a todos!
Mi intencion es hacer lo siguiente. Tengo los dos inputs siguientes:

Código HTML:
<input  name="Oferta" type="checkbox" id="Oferta" value="1">

<input type="text" name="Rebaja" id="Rebaja" size="5" value=""> 
El objetivo final es lo siguiente: Si le hago click al input de tipo checkbox o esta seleccionado sin haber hecho click, quiero que me aparezca el input de tipo text (que previamente está invisible). Y si deselecciono el checkbox, que me vacíe el input text y me lo oculte de nuevo.

Entiendo que esto se debe hacer por medio de javascript por medio de alguna función o algo así.
Alguna manera de hacerlo?
  #2 (permalink)  
Antiguo 25/07/2014, 11:39
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Al hacer click en checkbox, aparezca un select

Cambia la visibilidad accediendo a la respectiva propiedad CSS.

Código Javascript:
Ver original
  1. document.getElementById("Oferta").addEventListener("click", function(){
  2.     if (this.checked)
  3.         document.getElementById("Rebaja").style.display = "block";
  4.     else
  5.         document.getElementById("Rebaja").style.display = "none";
  6. }, false);

Y para que también surta efecto al momento de cargar la página:

Código Javascript:
Ver original
  1. window.addEventListener("load", function(){
  2.     if (document.getElementById("Oferta").checked)
  3.         document.getElementById("Rebaja").style.display = "block";
  4. }, false);

Para el segundo caso, solamente coloco la situación en la que estuviera marcado el checkbox, pues debo de suponer que mediante la hoja de estilos ocultas a la caja de texto.

Otra manera de hacerlo sería con CSS y la pseudo-clase :checked:

Código CSS:
Ver original
  1. #Rebaja{
  2.     display: none;
  3. }
  4.  
  5. #Oferta:checked ~ #Rebaja{
  6.     display: block;
  7. }

De este modo, cuando marques al checkbox, se mostrará la caja de texto siempre y cuando ésta se encuentra después del checkbox, si está ubicada antes, no surtirá efecto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Etiquetas: aparezca, checkbox, input, select
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 07:35.