Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

201
Vistas
¿Por qué no se activa mi evento de cambio de casilla de verificación?

tengo dos funciones

La primera función traduce un clic div en una alternancia marcada/no marcada. La segunda función traduce un cambio de casilla de verificación en un evento ocultar/mostrar.

El problema es que cuando uso la primera función para marcar/desmarcar la casilla, no se llama a la segunda función. Soy nuevo en javascript, gracias.

 <script type="text/javascript"> $(document).ready(function() { $(":checkbox").parent().click(function(evt) { if (evt.target.type !== 'checkbox') { var $checkbox = $(":checkbox", this); $checkbox.attr('checked', !$checkbox.attr('checked')); evt.stopPropagation(); return false; } }); }); </script> <script type="text/javascript"> $(document).ready(function() { $(":checkbox").change(function() { if($(this).attr("checked")) { $('.'+this.id).show(); } else { $('.'+this.id).hide(); } }); }); </script>
over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El evento de cambio no se activa cuando cambia mediante programación el valor de una casilla de verificación. Lo que puede hacer para asegurarse de que se dispare es:

 $(":checkbox").parent().click(function(evt) { if (evt.target.type !== 'checkbox') { var $checkbox = $(":checkbox", this); $checkbox.attr('checked', !$checkbox.attr('checked')); $checkbox.change(); } });
over 4 years ago · Santiago Trujillo Denunciar

0

No te molestes con el primer fragmento. Solo usa elementos LABEL:

 <label><input type="checkbox">Some option</label>

Ahora, cuando el usuario haga clic en la etiqueta (el texto junto a la casilla de verificación), la casilla de verificación se activará.


El segundo fragmento se puede optimizar:

 $('input:checkbox').change(function() { $('#' + this.id).toggle(this.checked); });
over 4 years ago · Santiago Trujillo Denunciar

0

estás usando '.' que es para selectores de clase en su lugar, use '#' ya que está usando la ID del elemento. Me gusta esto:

 $(document).ready(function() { $(":checkbox").bind('change', function() { if($(this).attr("checked")) { $('#'+this.id).show(); } else { $('#'+this.id).hide(); } }); });
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda