Eu tenho duas select
caixas HTML . Preciso redefinir uma select
caixa quando faço uma seleção em outra.
<select id="name" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
<select id="name2" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
Quando seleciono uma opção do primeiro select
(ou seja id="name"
), preciso redefinir o segundo select
para select all
; Da mesma forma, quando seleciono uma opção do segundo select
(ou seja id="name2"
), preciso redefinir o primeiro select
para select all
.
Como eu posso fazer isso?
javascript
jquery
Anish
fonte
fonte
Respostas:
Algo assim deve funcionar: https://jsfiddle.net/TmJCE/898/
fonte
<button>
elemento, certifique-se de não definirtype="reset"
. Não funcionou para mim até eu definir o tipo comobutton
select
para o valor fornecido.select.prop('selectedIndex', 0)
redefinirá a primeira opção,select.prop('selectedIndex', 1)
definirá a segunda opção.Se você deseja apenas redefinir o elemento de seleção para sua primeira posição, a maneira mais simples pode ser:
Para redefinir todos os elementos selecionados no documento:
EDIT: Para esclarecer de acordo com um comentário abaixo, isso redefine o elemento select para sua primeira entrada em branco e somente se existir uma entrada em branco na lista.
fonte
value=""
pode aparecer em qualquer ordem. 2) Uma opção sem um atributo de valor, ou<option></option>
seja, não é a mesma que uma opção com um atributo de valor de cadeia vazia<option value=""></option>
, ou seja , e você deixou claro que precisamos davalue=""
parte 3) Mesmo se não houver<option>
com valor de cadeia vazia; configuração.val('')
"afetará a alteração", a seleção parecerá alterada para em branco, não é mesmo? Pelo menos no meu Chrome ...Conforme apontado por @PierredeLESPINAY nos comentários, minha solução original estava incorreta - redefiniria a lista suspensa para a opção superior, mas apenas porque o
undefined
valor de retorno resolvido para o índice 0.Aqui está uma solução correta, que leva
selected
em conta a propriedade:DEMO : http://jsfiddle.net/weg82/257/
Resposta original - INCORRETA
No jQuery 1.6+, você precisa usar o
.prop
método para obter a seleção padrão:Para redefinir dinamicamente quando o primeiro menu suspenso for alterado, use o
.change
evento:fonte
$('#name2').val( $(this).prop('defaultSelected') );
$(this)
refere-se a$('#name')
, e não$('#name2')
, de modo nãodefaultSelected
é uma<option>
propriedade, sempre retornaráundefined
em um<select>
Use isso se desejar redefinir a seleção para a opção que possui o atributo "selecionado". Funciona de maneira semelhante à função JavaScript embutida de form.reset () para a seleção.
fonte
Isto me ajuda muito.
fonte
Aqui está como eu consegui que funcionasse se você apenas quisesse voltar para a sua primeira opção, por exemplo, "Escolha uma opção" "Select_id_wrap" é obviamente a div em torno da seleção, mas eu só quero deixar isso claro, caso isso ocorra. qualquer influência sobre como isso funciona. O meu redefine para uma função de clique, mas tenho certeza de que também funcionará dentro de uma alteração ...
fonte
Use o código abaixo. Veja trabalhando aqui http://jsfiddle.net/usmanhalalit/3HPz4/
fonte
Isso também pode ser usado
fonte
Essa é a maneira mais flexível / reutilizável de redefinir todas as caixas de seleção em seu formulário.
fonte
Veja como lidar com isso com um elemento de opção aleatória definido como o valor padrão (neste caso, o texto 2 é o padrão):
fonte
Você pode tentar isso:
fonte
Ocorreu um problema ao usar a propriedade defaultSelected na resposta de @Jens Roland no jQuery v1.9.1. Uma maneira mais genérica (com muitas seleções dependentes) seria colocar um atributo padrão de dados nas suas seleções dependentes e, em seguida, iterá-las ao redefinir.
E o javascript ...
Veja http://jsfiddle.net/8hvqN/ para uma versão funcional do acima.
fonte
Criei uma nova opção na tag select que possui um valor de string vazia ("") e usei:
fonte
Use jquery para vincular o evento onchange para selecionar, mas você não precisa criar outro
$(this)
objeto jquery.fonte
Use este código para redefinir todos os campos de seleção para a opção padrão, onde o atributo selecionado é definido.
fonte
Aqui está a melhor solução que estou usando. Isso se aplica a mais de 1 slectbox
fonte
A opção 1 de configuração no elemento de seleção pode ser feita por esse segmento. Para mostrá-lo visualmente, você deve adicionar .trigger ('change') no final.
fonte