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

119
Vistas
How I can make event listener(change) fot items with vanilla JS

How do I run the same action for each event. When the user selects an option, I need to show a table. And when they select another, show another table. But the tables were getting shown one by one. So I added an action for removing, but now the table only appears half the time. How can I make a select event lister, that does not disappear after the second click and not repeat tables

function getTableRegion(select, divResutl) {
    select.addEventListener('change', function (ev) {
        cleanMessage(divResutl);
        console.log(ev)
        if (document.getElementById('table')) {
            divResutl.removeChild(document.getElementById('table'))
        } else {
            let tbody = document.createElement('tbody');
            let table = document.createElement('table');
            table.id = 'table';
            table.setAttribute('style', 'display:table');
            tbody.innerHTML = `<tr><th>Country name</th>
                                 <th>Capital</th><th>World region</th><th>Languages</th>
                                  <th>Area</th><th>Flag </th></th></tr>`;
            table.append(tbody);
            divResutl.append(table);
        }
    })
}

Thank you

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

There is no reason to do if/else. If it exists, remove it and add the next.

function getTableRegion(select, divResutl) {
  select.addEventListener('change', function(ev) {
    cleanMessage(divResutl);
    console.log(ev)
    if (document.getElementById('table')) {
      document.getElementById('table').remove();
    }
    let tbody = document.createElement('tbody');
    let table = document.createElement('table');
    table.id = 'table';
    tbody.innerHTML = `<tr><th>Country name</th>
                                     <th>Capital</th><th>World region</th><th>Languages</th>
                                      <th>Area</th><th>Flag </th></th></tr>`;
    table.append(tbody);
    divResutl.append(table);

  })
}
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