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

133
Vistas
El evento de clic de radio no funciona con casillas de verificación con el mismo nombre de clase

Tengo una casilla de verificación así con el nombre de clase anotherCheese , cuando alguien hace clic en eso, se agregará a la clase de pasos-fila-primero, lo que se agrega también tiene un botón de opción con el nombre de clase anotherCheese , pero mi evento de clic no recibe una llamada en el nuevo botón de radio con el nombre de clase anotherCheese , ¿qué estoy haciendo mal?

Aquí está el HTML

 <div class="steps-row-first"> <div class="radio-wrapper"> <div class="radio-group"> <input type="radio" class="anotherCheese" name="anotherCheese" value="yes" /> <label>Yes</label> </div> <div class="radio-group"> <input type="radio" name="anotherCheese" value="no" /> <label>No</label> </div> </div> </div>

Y el jQuery:

 $('.anotherCheese').on("click", function(){ if($(this).val() == 'yes') { $(".steps-row-first").append('<div class="radio-wrapper"> <div class="radio-group"> <input type="radio" class="anotherCheese" name="anotherCheese" value="yes"/> <label>Yes</label> </div><div class="radio-group"> <input type="radio" name="anotherCheese" value="no"/> <label>No</label> </div></div>'); } });
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Vincule el evento a un elemento antecesor como .step-row-first . Hay algunos cambios en el ejemplo a continuación, pero en esencia, al vincular a un elemento principal, puede aprovechar la difusión de eventos y controlar todo el comportamiento de los elementos secundarios; esto se denomina delegación de eventos .

En el siguiente ejemplo:

  • .step-row-first es un <form>
  • El evento "hacer clic" ahora es un evento "cambiar" .
  • Tenga en cuenta que el segundo parámetro es: ".anotherCheese" , que lo designa como this .
  • <div> cambió a <fieldset> para la semántica .

Por cierto, dado que no está usando ningún #id s (buena opción), podría usar .clone() , solo tiene que tener el clon desmarcado antes de agregarlo.

 $(".steps-row-first").on("change", ".anotherCheese", function() { if ($(this).val() == 'yes') { $(".steps-row-first").append(` <fieldset class="radio-wrapper"> <fieldset class="radio-group"> <input type="radio" class="anotherCheese" name="anotherCheese" value="yes" /> <label>Yes</label><br> <input type="radio" name="anotherCheese" value="no" /> <label>No</label> </fieldset> </fieldset>`); } });
 <body> <form class="steps-row-first"> <fieldset class="radio-wrapper"> <fieldset class="radio-group"> <input type="radio" class="anotherCheese" name="anotherCheese" value="yes" /> <label>Yes</label><br> <input type="radio" name="anotherCheese" value="no" /> <label>No</label> </fieldset> </fieldset> </form> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> /* Make sure that all of the <script> tags are right before the closing </body> tag */ </script> </body>

about 4 years ago · Juan Pablo Isaza Denunciar

0

no comenzaste con un ' comenzaste con un ' en el código fijo de jquery

 $('.anotherCheese').on("click", function(){ if($(this).val() == 'yes') { $(".steps-row-first").append('<div class="radio-wrapper"> <div class="radio-group"> <input type="radio" class="anotherCheese" name="anotherCheese" value="yes"/> <label>Yes</label> </div><div class="radio-group"> <input type="radio" name="anotherCheese" value="no"/> <label>No</label> </div></div>'); } });
about 4 years ago · Juan Pablo Isaza 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