Estou tentando recuperar e definir o valor selecionado de um elemento de seleção (lista suspensa) com o jQuery.
para recuperar eu tentei $("#myId").find(':selected').val()
, bem como, $("#myId").val()
mas ambos retornam indefinidos.
Qualquer visão sobre esse problema seria muito apreciada.
Respostas:
O jeito que você tem está correto no momento. O ID do select não é o que você diz ou você tem alguns problemas no domínio.
Verifique o ID do elemento e também verifique se a sua marcação é válida aqui no W3c.
Sem um domínio válido, o jQuery não pode funcionar corretamente com os seletores.
Se os IDs estão corretos e seu domínio é validado, o seguinte se aplica:
Ler valor da opção de seleção
Para definir o valor da opção de seleção
Para ler o texto selecionado
fonte
para obter / definir a propriedade selectedIndex real do elemento select, use:
fonte
.attr()
e.prop()
não são sinônimos. Ele funcionará em certos casos em que um atributo também é uma propriedade, por exemplo,.attr('id')
é igual a.prop('id')
. Nesse caso,.prop('selectedIndex')
é igual a.get(0).selectedIndex
.$('#myId').val()
deve fazê-lo, na falta de tentar:fonte
Ao definir com
JQM
, não se esqueça de atualizar oUI
:fonte
$("#myId").val()
deve funcionar semyid
for o id do elemento select!Isso definiria o item selecionado:
$("#myId").val('VALUE');
fonte
Suponha que você tenha criado uma lista suspensa usando a tag SELECT da seguinte maneira,
Agora, se você quiser ver qual é o valor selecionado no menu suspenso usando JQuery, basta colocar a seguinte linha para recuperar esse valor.
funcionará bem.
fonte
Sei que é velho, mas passei um bom tempo com o Razor, não consegui fazê-lo funcionar, por mais que tentasse. Mantive o retorno como "indefinido", independentemente de eu ter usado "texto" ou "html" como atributo. Por fim, adicionei o atributo "data-value" à opção e lia isso muito bem.
fonte
$ ("#myId opção: selecionada") .text (); fornecerá o texto que você selecionou no elemento suspenso. de qualquer maneira, você pode alterá-lo para .val (); para obter o valor disso. verifique a codificação abaixo
fonte
Tente isto
fonte