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

212
Visualizações
¿Cómo obtener el botón de opción marcado en JS?

He visto que esto funciona para la mayoría de los usuarios, pero por alguna razón no es así para mí. Yo uso Google Chrome.

 radioBut = document.querySelector(".rad-design") getColor = function(){ for (i=0; i<radioBut.length; i++){ if (radioBut[i].checked){ console.log(radioBut[i) } }

html

 <form id = "rad"> <div class = "radioAll"> <label class="rad-label"> <input type="radio" class="rad-input" name="colList"> <div class="rad-design"></div> </label> <label class="rad-label"> <input type="radio" class="rad-input" name="colList"> <div class="rad-design"></div> </label> </div> </form>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El selector debe ser document.querySelectorAll para obtener entradas como matriz y debe apuntar a la clase .rad-input que es la entrada y no .rad-design que es la etiqueta. También debe usar checked para las entradas para hacer que la entrada sea verificada, no es check . Además, no puede establecer checked en dos entradas con el mismo nombre. Si eso se hace, solo se verificará la última entrada con ese nombre.

violín de trabajo

 const radioBut = document.querySelectorAll(".rad-input") getColor = function () { for (i = 0; i < radioBut.length; i++) { if (radioBut[i].checked) { console.log(radioBut[i]) } } }
 <form id="rad"> <div class="radioAll"> <label class="rad-label"> <input type="radio" class="rad-input" checked name="colList"> <div class="rad-design">One</div> </label> <label class="rad-label"> <input type="radio" class="rad-input" name="colList"> <div class="rad-design">Two</div> </label> </div> <button type="button" onclick="getColor()">getColor</button> </form>

about 4 years ago · Juan Pablo Isaza Relatório

0

document.querySelector devuelve solo un elemento, no una matriz/lista, por lo que en el bucle for en i<radioBut.length radioBut.length no está undefined , debe usar document.querySelectorAll() en su lugar.

También noté que ha seleccionado el div y no la entrada y tiene un par de errores de sintaxis.

Tal vez esto pueda ayudarle:

 const radioBut = document.querySelectorAll(".rad-input") const getColor = function(){ for (let i=0; i<radioBut.length; i++){ if (radioBut[i].checked){ console.log(radioBut[i].value) } } } console.log(getColor())
 <form id = "rad"> <div class = "radioAll"> <label class="rad-label"> <input type="radio" class="rad-input" value='A' name="colList"> <div class="rad-design"></div> </label> <label class="rad-label"> <input type="radio" class="rad-input" value='B' name="colList" checked> <div class="rad-design"></div> </label> </div> </form>

Otra opción es usar la funcionalidad del elemento de form

 const form = document.getElementById('rad'); const getColor = function(){ return form.colList.value; } console.log(getColor())
 <form id = "rad"> <div class = "radioAll"> <label class="rad-label"> <input type="radio" class="rad-input" value='A' name="colList"> <div class="rad-design"></div> </label> <label class="rad-label"> <input type="radio" class="rad-input" value='B' name="colList" checked> <div class="rad-design"></div> </label> </div> </form>

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