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

123
Visualizações
Cómo mostrar la opción seleccionada después de seleccionar la opción

Tengo un formulario con estructura de tabla html como a continuación:

 <tr> <td>Quotation Category<span class="required" style="color: red">*</td> <td> <div class="form-group col-md-9"> <select name="quotation_category" class="form-control" style="width: 80%;" id="quotation_category"> <option value="">Pilih Kategori</option> <option value="konvensional">Konvensional</option> <option value="syariah">Syariah</option> </select> </div> </td> <td class="ujroh-style">Ujroh<span class="required" style="color: red">*</span> </td> <td class="ujroh-style"> <div class="form-group col-md-9"> <input type="number" class="form-control" id="ujroh" name="ujroh"> </div> </td> </tr>

A continuación se muestra mi js:

 document.querySelector('#quotation_category').addEventListener('change', () => { const select_value = document.querySelector('#quotation_category').value if (select_value === "konvensional") { document.getElementsByClassName('.ujroh-style').style.display = "none" } else if (select_value === "syariah") { document.getElementsByClassName('.ujroh-style').style.display = "revert" } })

Quiero, si elijo 'konvensional', que aparezca esa opción seleccionada Ujroh. Si elijo 'syariah', la opción seleccionada Ujroh desaparece. ¿Como hacer eso?

INFORMACIÓN
Mi código da este error:

 Uncaught TypeError: Cannot set properties of undefined (setting 'display') at HTMLSelectElement.<anonymous>
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Este trozo de línea está causando un error.

 document.getElementsByClassName('.ujroh-style').style.display = "some-value"
  1. No necesitas usar . al frente porque ya está seleccionando por className

  2. Está utilizando getElements, tenga en cuenta que s es plural si esa es su intención, necesita recorrer todos los elementos y cambiar la propiedad de visualización en el elemento, no en la matriz

 const elems = Array.from(document.getElementsByClassName('ujroh-style')) elems.forEach(el => el.style.display = 'your-value')
about 4 years ago · Juan Pablo Isaza Relatório

0

Tres problemas:

  1. está tratando de obtener la propiedad de style de una colección de elementos, y una colección de elementos no tiene la propiedad de style . Solo un único elemento tiene una propiedad de estilo. Afortunadamente, puedes iterar a través de cada elemento
  2. está tratando de obtener todos los elementos de una clase en particular, con una cadena que tiene la extensión . en él, lo que le dará una colección vacía. Retire el .
  3. revert no es una enumeración de propiedad display de CSS válida. usa otra cosa

Entonces su código JavaScript anterior ahora sería:

 document.querySelector('#quotation_category').addEventListener('change', () => { const select_value = document.querySelector('#quotation_category').value if (select_value === "konvensional") { for (const el of document.getElementsByClassName('ujroh-style')) { el.style.display = "none" } } else if (select_value === "syariah") { for (const el of document.getElementsByClassName('ujroh-style')) { el.style.display = "inline-block" } } })
about 4 years ago · Juan Pablo Isaza Relatório

0

Un problema es que usa '.classname' como selector en el selector getElementsByClassName . Y segundo, está tratando de agregar un estilo a una colección de elementos, eso no es posible. Para solucionar esto, debe agregar el estilo de visualización a cada elemento de la colección.

 document.querySelector('#quotation_category').addEventListener('change', () => { const select_value = document.querySelector('#quotation_category').value if (select_value === "konvensional") { document.querySelectorAll('.ujroh-style').forEach(x => x.style.display = 'none'); } else if (select_value === "syariah") { document.querySelectorAll('.ujroh-style').forEach(x => x.style.display = 'inline-block'); } })
 <table> <tr> <td>Quotation Category<span class="required" style="color: red">*</span></td> <td> <div class="form-group col-md-9"> <select name="quotation_category" class="form-control" style="width: 80%;" id="quotation_category"> <option value="">Pilih Kategori</option> <option value="konvensional">Konvensional</option> <option value="syariah">Syariah</option> </select> </div> </td> <td class="ujroh-style">Ujroh<span class="required" style="color: red">*</span> </td> <td class="ujroh-style"> <div class="form-group col-md-9"> <input type="number" class="form-control" id="ujroh" name="ujroh"> </div> </td> </tr> </table>

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