Eu queria saber se é possível obter o jQuery para selecionar um <option>
, digamos o quarto item, em uma caixa suspensa?
<select>
<option></option>
<option></option>
<option></option>
<option></option>
<option></option>
</select>
Quero que o usuário clique em um link e faça com que a <select>
caixa altere seu valor, como se o usuário o tivesse selecionado clicando no <option>
.
Respostas:
E se
exemplo em http://www.jsfiddle.net/gaby/CWvwn/
para versões modernas do jquery, você deve usar o em
.prop()
vez de.attr()
exemplo em http://jsfiddle.net/gaby/CWvwn/1763/
fonte
selectElement.selectedIndex = index;
é o que Jack quer dizer.selectedIndex
não pode ser usado para seleção múltipla quandomultiple
atributo é usado. E a maneira normal ( html ) de definir elementos selecionados é oselected
atributo dosoption
elementos.selected
propriedade de cadaoptions
elemento correspondente comotrue
(e opcionalmente o restantefalse
explicitamente). Várias seleções são bastante desagradável, na verdade :)onchange
evento nunca é acionado quando o valor é alterado programaticamente. Você pode adicionar um.trigger('change')
no final para também acionar o evento ( embora ele irá disparar independentemente do valor de ter realmente mudado )A solução:
fonte
selected
opção no HTML.Os elementos de seleção HTML têm uma
selectedIndex
propriedade que pode ser gravada para selecionar uma opção específica:Usando JavaScript simples, isso pode ser alcançado por:
fonte
.trigger()
isso, mas como você já está fazendo isso com código, seria fácil também chamar os manipuladores de alterações.Eu faria assim
fonte
se suas opções tiverem um valor, você pode fazer isso:
'select' seria o ID do seu select ou de um seletor de classe. ou, se houver apenas uma seleção, você pode usar a tag como está no exemplo.
fonte
A maneira mais fácil é a
val(value)
função:E para obter o valor selecionado, você não fornece argumentos:
Além disso, se você tem
<option value="valueToSelect">...</option>
, você pode fazer:DEMO
fonte
Use o seguinte código se desejar selecionar uma opção com um valor específico:
fonte
fonte
Prefiro nth-child () a eq (), pois usa indexação com base em 1 e não em 0, o que é um pouco mais fácil para o meu cérebro.
fonte
Com o elemento '' geralmente usamos o atributo 'value'. Facilitará a configuração:
fonte
Tente o seguinte:
Saudações!
fonte
responda com id:
fonte
Uma ressalva aqui é se você tem javascript assistindo ao evento de alteração da opção / opção que você precisa adicionar
.trigger('change')
para que o código se torne.porque apenas a chamada
.attr('selected', 'selected')
não aciona o eventofonte