Ok, eu tenho este código:
<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
E eu gostaria de obter o valor da opção selecionada. Exemplo: 'Opção 2' está selecionada e o valor é '2'. O '2' é o valor que eu preciso obter e não a 'Opção 2'.
jquery
html
html-select
n00b
fonte
fonte
Respostas:
04/2020: resposta antiga corrigida
Use : seletor psuedo selecionado nas opções selecionadas e use a função .val para obter o valor da opção.
Nota lateral : Usar o filtro é melhor do que usar o
:selected
seletor diretamente na primeira consulta.Se estiver dentro de um manipulador de alterações, você pode usar simplesmente
this.value
para obter o valor da opção selecionada. Veja a demonstração para mais opções.Resposta antiga:
Editar: Como muitos apontaram, isso não retorna o valor da opção selecionada.
~~ Use .val para obter o valor da opção selecionada. Ver abaixo,
fonte
$('select[name=selector]').change(function() { alert($(this).val()); });
value
atributo especificado, o rótulo (ou seja<option>label</option>
) será retornado. Nem sempre pode ser o que você deseja. Obviamente, na maioria dos aplicativos, o valor é especificado.Eu só queria compartilhar minha experiência
Para mim,
$('#selectorId').val()
retornado nulo.
Eu tive que usar
$('#selectorId option:selected').val()
fonte
$('#selectorId option:selected').val()
que não funcionou para mim. Em vez disso, eu usei$('select option:selected').val()
$('select option:selected').val()
assumirá o valor do primeiro seletor no código HTML. Considerando que$('#selectorId option:selected').val()
você pode ter o valor do seletor que identificou. Verifique novamente se há erros de digitação. Aqui está um exemplo que mostra o que eu disse: codepen.io/anon/pen/NqgqyzExemplo de jsFiddle
.val()
receberá o valor.fonte
Você precisa adicionar um ID à sua seleção. Então:
$('#selectorID').val()
fonte
Tente o seguinte:
ou
fonte
você pode usar da
jquery
seguinte maneiraROTEIRO
FIDDLE está aqui
fonte
Para uma seleção como esta
... você pode obter o ID desta maneira:
Ou você pode usar o valor e obtê-lo da maneira mais fácil ...
como isso:
fonte
Uma das minhas opções não ter um valor:
<option>-----</option>
. Eu estava tentando usar,if (!$(this).val()) { .. }
mas estava obtendo resultados estranhos. Acontece que, se você não tiver umvalue
atributo em seu<option>
elemento, ele retornará o texto dentro dele, em vez de uma sequência vazia. Se você não desejaval()
retornar nada para sua opção, adicione-ovalue=""
.fonte
Olhe para o exemplo:
fonte
OU
OU
fonte
esse código funciona muito bem para mim: isso retorna o valor da opção selecionada. $ ('# select_id'). find ('opção: selecionada'). val ();
fonte
fonte
Link de origem
Use jQuery val () para GET Valor e e selecionada de texto () para GET Opção de texto.
Alterar evento no menu suspenso Selecionar
Clique no botão
fonte