Eu tenho um select
campo com algumas opções nele. Agora eu preciso selecionar um daqueles options
com jQuery. Mas como posso fazer isso quando sei apenas value
o option
que deve ser selecionado?
Eu tenho o seguinte HTML:
<div class="id_100">
<select>
<option value="val1">Val 1</option>
<option value="val2">Val 2</option>
<option value="val3">Val 3</option>
</select>
</div>
Eu preciso selecionar a opção com valor val2
. Como isso pode ser feito?
Aqui está uma página de demonstração: http://jsfiddle.net/9Stxb/
Respostas:
Existe uma maneira mais fácil que não exige que você entre na tag de opções:
Confira o método this jQuery .
fonte
.val(["Multiple2", "Multiple3"])
. api.jquery.com/val/#val-value.val(x).change();
para acionar o evento onChange do select, parece que a configuração de val () não o aciona.Para selecionar uma opção com o valor 'val2':
fonte
.val()
o select e tentar escolher um valor que não esteja lá, desmarcará tudo.$("select[name=foo] option[value=bar]).attr('selected','selected');
que também funcionou bem para todos os navegadores que testei.Use o
change()
evento após selecionar o valor. Dos documentos:Mais informações estão em .change () .
fonte
prop
,attr
etc. , e progride todos os eventos corretamente.Desmarque tudo primeiro e filtre as opções selecionáveis:
fonte
selected
. Você quis dizer.prop()
?Definindo o status pendente por valor
fonte
Para mim, o seguinte fez o trabalho
fonte
Eu acho que a maneira mais fácil é selecionar definir val (), mas você pode verificar o seguinte. Consulte Como lidar com as tags de seleção e opção no jQuery? para mais detalhes sobre as opções.
Não otimizado, mas a lógica a seguir também é útil em alguns casos.
fonte
Você pode selecionar qualquer atributo e seu valor usando o seletor de atributos
[attributename=optionalvalue]
; portanto, no seu caso, você pode selecionar a opção e definir o atributo selecionado.Onde
value
está o valor que você deseja selecionar.Se você precisar remover quaisquer valores selecionados anteriores, como seria o caso, se for usado várias vezes, será necessário alterá-lo um pouco para remover primeiro o atributo selecionado.
fonte
A melhor maneira é assim:
fonte
$('<select>').val('asdf')
não atualizou o select para mostrar a opção atualmente selecionada. Esta resposta resolveu esse problema.uma resposta simples é, em html
no jquery, chame a função abaixo por botão ou o que for
simples e 100% funciona, porque foi retirado do meu trabalho ... :) espero que ajude ..
fonte
Não há razão para pensar demais, tudo o que você está fazendo é acessar e definir uma propriedade. É isso aí.
Ok, então um dom básico: se você estivesse fazendo isso em JavaScript direto, faria o seguinte:
Mas você não está fazendo isso com JavaScript direto, mas com jQuery. E no jQuery, você deseja usar a função .prop () para definir uma propriedade, para fazer assim:
De qualquer forma, verifique se seu ID é único. Caso contrário, você estará batendo a cabeça na parede, perguntando-se por que isso não funcionou.
fonte
A maneira mais fácil de fazer isso é:
HTML
jQuery
fonte
É melhor usar
change()
depois de definir o valor selecionado.Ao fazer isso, o código quase mudará a seleção por usuário, a explicação está incluída no JS Fiddle :
JS Fiddle
fonte
$('#graphtype option[value=""]').prop("selected", true);
Isso funciona bem onde
#graphtype
está o ID da tag select.exemplo, selecione tag:
fonte
fonte
Usar:
Isso funciona para mim. Estou usando esse código para analisar um valor em um formulário de atualização do fancybox, e minha fonte completa de app.js é:
E meu código PHP é:
fonte
.attr () às vezes não funciona em versões mais antigas do jQuery, mas você pode usar .prop () :
fonte
Isso funciona com certeza para o Select Control :
fonte
Basta colocar neste código:
fonte
Link de origem
Use o método jQuery val () para seleção de valor único e múltiplo no DropDown
HTML
fonte
Tente isso. Simples, mas eficaz, javaScript + jQuery, a combinação letal.
SelectComponent:
Seleção:
Agora sua opção 4 será selecionada. Você pode fazer isso para selecionar os valores no início por padrão.
ou crie uma função simples, coloque a linha nela e chame a função em anyEvent para selecionar a opção
Uma mistura de jQuery + javaScript faz a mágica ....
fonte
É um post antigo, mas aqui está uma função simples que funciona como o plugin jQuery.
Você simplesmente pode fazer algo assim:
A razão pela qual usar isso é porque você altera o satemant selecionado para o DOM, o que é compatível com o navegador cruzado e também acionará a alteração para que você possa capturá-lo.
É basicamente simulação de ação humana.
fonte
case sensative
. Você pode alterar sua caixa de seleção dinamicamente da seguinte maneira:$("div#YOUR_ID").val(VALUE_CHANGED).change(); //value must present in options you selected otherwise it will not work
fonte
Parece haver um problema com os controles suspensos selecionados que não mudam dinamicamente quando os controles são criados dinamicamente, em vez de estarem em uma página HTML estática.
No jQuery, esta solução funcionou para mim.
Assim como um adendo, a primeira linha de código sem a segunda linha funcionou de maneira transparente, recuperar o índice selecionado estava correto após a definição do índice e, se você realmente clicou no controle, ele mostraria o item correto, mas isso não refletia no rótulo superior do controle.
Espero que isto ajude.
fonte
Um problema ocorreu quando o valor é um ID e o texto é um código. Você não pode definir o valor usando o código, mas não tem acesso direto ao ID.
fonte
funciona para mim
fonte
Isso funciona bem
fonte