Estou tentando mudar a opção atualmente selecionada em um select com o plugin Chosen.
A documentação cobre a atualização da lista e o disparo de um evento quando uma opção é selecionada, mas nada (que eu possa ver) em alterar externamente o valor atualmente selecionado.
Fiz um jsFiddle para demonstrar o código e minhas tentativas de alterar a seleção:
$('button').click(function() {
$('select').val(2);
$('select').chosen().val(2);
$('select').chosen().select(2);
});
Respostas:
Na seção "Atualizando Escolhido Dinamicamente" nos documentos : Você precisa acionar o evento 'escolhido: atualizado' no campo
NOTA: as versões anteriores a 1.0 usavam o seguinte:
fonte
chosen:updated
vez deliszt:updated
$('select').val(2).trigger("chosen:updated");
$('select').val(2);
para$('select').val(2).change();
, porque mudar a opção selecionada de um select com jQuery não aciona o evento de mudança e algumas pessoas podem precisar dele.Minha resposta está atrasada, mas quero acrescentar algumas informações que estão faltando em todas as respostas acima.
1) Se você deseja selecionar um valor único na escolha escolhida.
2) Se você estiver usando a seleção múltipla escolhida, pode ser necessário definir vários valores de uma vez.
Informações coletadas nos links a seguir:
1) Chosen Docs
2) Chosen Github Discussion
fonte
Às vezes, você precisa remover as opções atuais para manipular as opções selecionadas.
Aqui está um exemplo de como definir opções:
JSFiddle (incluindo opções de como anexar): https://jsfiddle.net/59x3m6op/1/
fonte
var selected = mySelect.val();
paravar selected = mySelect.val() || [];
.No caso de vários tipos de seleção e / ou se você deseja remover itens já selecionados um por um, diretamente dentro de uma lista suspensa, você pode usar algo como:
fonte