Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

101
Visualizações
Los datos dinámicos abren solo el primer elemento de la fila

Obtuve algunos datos y todos tienen los mismos botones para abrir el modal, pero cada modal debe tener contenido sobre ese elemento específico en el que se ha hecho clic.

El botón se muestra en todos los elementos de la fila, pero cuando hago clic en él, se abre modal solo en el primer elemento de la fila.

Tengo un botón simple en HTML.

 // this is part of fetched items in a row, each item has this button <div> <button id="openUniqueModal"> BUTTON </button> </div>

Y función abierta en JS

 let openUniqueModalBtn = document.getElementById('openUniqueModal'); if (openUniqueModalBtn != null) { document.getElementById( 'openUniqueModal' ).onclick = function () { modal.style.display = 'block'; }; ..... .....

¿Cómo puedo lograr que cada elemento de botón en la fila se active al hacer clic? ¿Tengo que recorrerlo en código JS?

EDITAR:

otro enfoque

 <button class="openUniqueModal">BUTTON</button> document .querySelectorAll('.openUniqueModal') .addEventListener('click', (event) => { myModal.style.display = 'block'; });
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

No necesita adjuntar un detector de eventos a cada botón, sino que puede usar agregar una clase común para agregar botones y luego agregar un detector solo una vez

 document.querySelector('.btn').addEventListener('click', (event) => { // you can check button id and take different actions if needed // event.target.id });
about 4 years ago · Juan Pablo Isaza Relatório

0

puede usar la respuesta de Zohaib Ijaz e incluso puede agregar un comodín si lo desea a la frase '.btn'.

  • [id^='openUniqueModal'] coincidirá con todos los ID que comiencen con openUniqueModal.
  • [id$='openUniqueModal'] coincidirá con todos los ID que terminen en openUniqueModal.
  • [id*='openUniqueModal'] coincidirá con todos los ID que contengan openUniqueModal.

Por favor, no use identificaciones duplicadas en los elementos. como botón 'openUniqueModal' se duplicará en su dom para cada fila ya que no habrá incremento en la identificación.

Tener elementos con la misma identificación causará muchos problemas cuando se trata de industrial.

si está usando jquery, use la siguiente función,

 $( "#openUniqueModal" ).on( "click", function() { // your desired functionality here // use $( this ) to access current element });

* Habría agregado esto como un comentario en la respuesta de Zohaib Ijaz, pero no tengo suficiente permiso.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda