Como posso obter todas as opções de um select através do jQuery passando seu ID?
Estou apenas buscando obter seus valores, não o texto.
javascript
jquery
jquery-selectors
Click Voto a favor
fonte
fonte
$.map
é muito mais elegante e menos propenso a erros (veja abaixo).$('#id option').map((index, option) => option.value)
: Nota como a assinatura de retorno de chamada é revertida em comparação com o JS "vanilla"map
function ((item, index) =>
)Não conheço jQuery, mas sei que, se você obtiver o elemento select, ele conterá um objeto 'opções'.
fonte
$.map
é provavelmente a maneira mais eficiente de fazer isso.Você pode adicionar opções de alteração
$('#selectBox option:selected')
se desejar apenas as que estão selecionadas.A primeira linha seleciona todas as caixas de seleção e coloca seu elemento jQuery em uma variável. Em seguida, usamos a
.map
função do jQuery para aplicar uma função a cada um dos elementos dessa variável; tudo o que estamos fazendo é retornar o valor de cada elemento, pois é com isso que nos preocupamos. Como estamos retornando-os para dentro da função map, na verdade, ele cria uma matriz de valores conforme solicitado.fonte
$('#selectBox').val()
retornará uma matriz dos valores selecionados.Algumas respostas usam
each
, masmap
é uma alternativa melhor aqui IMHO:Existem (pelo menos) duas
map
funções no jQuery. A resposta de Thomas Petersen usa "Utilities / jQuery.map"; esta resposta usa "Traversing / map" (e, portanto, um código um pouco mais limpo).Depende do que você fará com os valores. Se você, digamos, quiser retornar os valores de uma função,
map
é provavelmente a melhor alternativa. Mas se você vai usar os valores diretamente, provavelmente desejaeach
.fonte
get()
o objeto retornado trabalhe com um array básico." - api.jquery.com/maptext()
vezval()
. Obrigado ! (I causou você passar por cima de 1000;->
)fonte
Embora, a maneira CORRETA seja definir a propriedade DOM do elemento, da seguinte maneira:
fonte
Isso colocará os valores das opções
#myselectbox
em uma boa matriz limpa para você:fonte
$.map(domelts, elt=> $(elt).val())
Você pode pegar todos os seus "valores selecionados" pelo nome das caixas de seleção e apresentá-los em uma picada separada por ",".
Uma boa maneira de fazer isso é usar $ .map () do jQuery:
fonte
select
eoption
não caixas de seleção.Exemplo de trabalho
A maneira mais eficiente de fazer isso é usar
$.map()
Exemplo:
fonte
Você pode usar o seguinte código para isso:
fonte
Para a opção de seleção múltipla:
$('#test').val()
retorna a lista de valores selecionados.$('#test option').length
retorna o número total de opções (selecionadas e não selecionadas)fonte
Este é um script simples com jQuery:
fonte
Aqui está um exemplo simples no jquery para obter todos os valores, textos ou valor do item selecionado ou texto do item selecionado
fonte
Ou:
Para ver os resultados:
fonte
Se você estiver procurando todas as opções com algum texto selecionado, o código abaixo funcionará.
fonte
O caminho mais curto
ou
fonte