Estou usando o plug - in Bootstrap-Select assim:
HTML :
<select name="selValue" class="selectpicker">
<option value="1">Val 1</option>
<option value="2">Val 2</option>
<option value="3">Val 3</option>
<option value="4">Val 4</option>
</select>
Javascript :
$('select[name=selValue]').selectpicker();
Agora, quero definir o valor selecionado para selecionar quando o botão for clicado ... algo assim:
$('#mybutton').click(function(){
$('select[name=selValue]').val(1);
});
Mas nada acontece.
Como posso conseguir isso?
jquery
twitter-bootstrap
bootstrap-select
jcvegan
fonte
fonte
Respostas:
O valor está selecionado corretamente, mas você não o viu porque o plugin esconde o real select e mostra um botão com uma lista não ordenada, então, se você quiser que o usuário veja o valor selecionado no select você pode fazer algo assim :
Editar:
Como @blushrt aponta, uma solução melhor é:
Editar 2:
Para selecionar vários valores, passe os valores como uma matriz.
fonte
$('select[name=selValue]').val(1);$('.selectpicker').selectpicker('refresh');
Desta forma, você está apenas alterando o select oculto, chamar o selectpicker ('atualizar') redesenha o botão.Isso é tudo que você precisa fazer. Não há necessidade de alterar o html gerado do selectpicker diretamente, apenas altere o campo de seleção oculto e, em seguida, chame o selectpicker ('atualizar').
fonte
$('.selectpicker').selectpicker('refresh');
pode prejudicar seu desempenho se você tiver muitos seletores em uma páginafonte
Nenhuma atualização é necessária se o parâmetro "val" for usado para definir o valor, consulte violino . Use colchetes para o valor para habilitar vários valores selecionados.
fonte
Isso funcionou para mim.
fonte
Na verdade, seu valor está definido, mas seu seletor não é atualizado
Como você pode ler na documentação
https://silviomoreto.github.io/bootstrap-select/methods/#selectpickerval
A maneira certa de fazer isso seria
Para vários valores, você pode adicionar uma matriz de valores
fonte
Você pode definir o valor selecionado chamando o método val no elemento.
Isso selecionará todos os itens em uma seleção múltipla.
detalhes estão disponíveis no site: https://silviomoreto.github.io/bootstrap-select/methods/
fonte
$('selector').selectpicker('val',value);
no lugar do seletor, você pode fornecer o seletor de classe ou id, por exemplo:
$('#mySelect').selectpicker('val',your_value)
fonte
fonte
Uma ligeira variação da resposta de blushrt para quando você não tem valores " embutidos em código" para opções (ou seja, 1, 2, 3, 4 etc.)
Digamos que você renderize um
<select>
com valores de opções sendo GUIDs de alguns usuários. Em seguida, você precisará extrair de alguma forma o valor da opção para defini-la no<select>
.A seguir, selecionamos a primeira opção do select.
HTML :
Javascript :
Usamos isso em um select com a palavra-chave múltipla
<select multiple>
. Neste caso, nada é selecionado por padrão, mas queríamos que o primeiro item sempre estivesse selecionado.fonte
Com base na ótima resposta de @blushrt, irei atualizar esta resposta. Apenas usando -
funciona se você pré-carregou tudo de que precisa no seletor.
fonte
fonte
Com o '0' sendo o valor do item que você deseja selecionar
fonte
Bem outra maneira de fazer isso é, com esta palavra-chave, você pode simplesmente pegar o objeto no presente e manipulá-lo de valor. Por exemplo :
fonte
Além disso, você pode simplesmente chamar isso para vários valores
$(<your select picker>).selectpicker("val", ["value1", "value2"])
Você pode encontrar mais aqui https://developer.snapappointments.com/bootstrap-select/methods/
fonte
Basta colocar a opção: selecionada para obter o valor, pois o seletor de bootstrap muda para e aparece de forma diferente. Mas selecione ainda selecionado
fonte
ID do usuário para o elemento, então
fonte
use isso e vai funcionar:
fonte