Pegar o valor selecionado no select com JavaScript
Neste artigo você vai aprender a como pegar o valor selecionado no select com JavaScript, ou seja, o valor da option que está selecionada

Fala programador(a), beleza? Bora aprender mais sobre JavaScript e também manipulação de DOM, da tag select e option!
Para receber o valor da option ou o texto dela, podemos utilizar a propriedade options do elemento select
Que nos dará todas as opções do mesmo, porém antes precisamos primeiramente selecionar o elemento
E além disso temos uma propriedade selectedIndex, que nos dá a opção selecionada do select
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Por fim é só acessar a propriedade text ou value do elemento
Vamos ao exemplo prático:
<select name="marcas" id="marcas"> <option value="ford">Ford</option> <option value="VW">VW</option> <option value="ferrari" selected>Ferrari</option> </select>
Agora temos um HTML válido para utilizar como exemplo
Veja que a opção Ferrari está com o atributo selected, o que torna esta opção selecionada
Agora veja o JavaScript necessário:
var select = document.getElementById("marcas");
var opcaoTexto = select.options[select.selectedIndex].text;
var opcaoValor = select.options[select.selectedIndex].value;
console.log(opcaoTexto); // Ferrari
console.log(opcaoValor); // ferrari
Aqui selecionamos o select primeiramente, e conseguimos verificar a opção que está selecionada com selectedIndex
Posteriormente verificamos o texto da opção com a propriedade text e também o valor da opção com a propriedade value
Veja que eu coloquei os valores que foram impressos de cada um após a instrução
Conclusão
Neste artigo você aprendeu a pegar o valor selecionado no select com JavaScript
Selecionamos o elemento e posteriormente achamos a opção selecionada com selectedIndex
Para receber os valores e textos utlilizamos value e text, respectivamente
E desta maneira conseguimos resgatar o valor ou texto da opção que está selecionada em algum dos selects da nossa página
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Se liga que dá pra encurtar muito esse código
O próprio elemento select tem uma propriedade value, que já devolve direto o value da option selecionada
var select = document.getElementById("marcas"); console.log(select.value); // ferrari
Ou seja, pra pegar só o valor tu nem precisa passar por options e selectedIndex
Agora, se o que tu quer é o TEXTO que aparece pro usuário (e não o value do atributo), aí sim vale o caminho com selectedIndex e text que vimos acima
Na prática, quase sempre tu quer o valor no momento em que a pessoa muda o select
Pra isso usamos o evento change
var select = document.getElementById("marcas");
select.addEventListener("change", function() { console.log(select.value); });
Agora, toda vez que o usuário escolher outra option, o valor atualizado cai no console
Bem mais útil do que ler o valor só uma vez, né?
Qual a diferença entre value e text no select?
O value é o valor interno da option, aquele que fica no atributo value do HTML e normalmente vai pro backend
Já o text é o que aparece escrito pro usuário na tela
No nosso exemplo a option da Ferrari tem value="ferrari" (minúsculo) e o texto Ferrari
Por isso value devolve ferrari e text devolve Ferrari
Sacar essa diferença evita aquele bug chato de mandar o texto errado pro servidor
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]

Mano, você salvou minha vida! Obrigado!
de nada mano! =D
Obrigado!!
Boa tarde.
Como faço no caso de uma grid com um select por linha, por exemplo:
Nome Acesso
Faluno “opções de acesso”
Beltrano “opções de acesso”
Estou com uma grid onde para cada item tenho que colocar um nivel de acesso específico.
Obrigado.
No aguardo.
Soluções ótimas como sempre!
valeu Jailton!
como que faz caso não tenha value em nenhuma option, digamos que o valor só está somente entre as tags option, porém sem value nelas.
Vlw parceiro salvo dms.
de nada!
Boa tarde
Como faço, conforme selecionado pelo usuário no select será feito um calculo matemático tipo calculo hora extra com 50%, 70% e 100%, na função esta pronto, so me falta pegar os valores no select estou a quase dois meses tentando e não consigo.