Como posso alterar o valor seleccionado de select2 com JqGrid?

I'm usando Oleg's select2 demo, mas eu estou me perguntando se seria possível alterar o valor atualmente selecionado no menu suspenso.

Por exemplo, se os quatro valores carregados estivessem: "Any", "Fruit", "Vegetable", "Meat"e a lista suspensa por defeito para"Any", como seria capaz de alterar isso para"Fruit"no evento JqGridloadComplete`?

Isto é possível?

Olhando para select2 docs você usa os documentos abaixo para obter/definir o valor.

$("#select").select2("val"); //get the value
$("#select").select2("val", "CA"); //set the value

@PanPipes apontou que isto mudou para 4.x (vá atire-lhe um upvote abaixo). O val é agora chamado diretamente

$("#select").val("CA");

Então dentro do loadComplete do jqGrid você pode obter o valor que você está procurando e então definir o valor da caixa de seleção.

Aviso dos documentos

Note que, para usar este método, você deve definir o função initSelection nas opções para que Select2 saiba como transforma o id do objeto que você passa em val() para o objeto completo precisa de fazer a selecção. Se você estiver anexando a um elemento selecionado esta função já está prevista para si.

Comentários (8)
this.$("#yourSelector").select2("data", { id: 1, text: "Some Text" });

isto deve ser útil.

Comentários (1)

Só queria acrescentar uma segunda resposta. Se você já tiver já renderizado a seleção como um seletor2, você precisará ter isso refletido no seu seletor da seguinte forma:

$("#s2id_originalSelectId").select2("val", "value to select");
Comentários (0)