Come posso cambiare il valore selezionato del dropdown select2 con JqGrid?

Sto usando Oleg [select2 demo] (http://www.ok-soft-gmbh.com/jqGrid/UsageFormetterSelect2.htm), ma mi sto chiedendo se sarebbe possibile cambiare il valore attualmente selezionato nel menu a discesa.

Per esempio, se i quattro valori caricati fossero: "Any", "Fruit", "Vegetable", "Meat" e l'elenco a discesa fosse predefinito su "Any", come potrei essere in grado di cambiarlo in "Fruit" nell'evento JqGrid loadComplete?

È possibile?

Guardando il select2 docs si usa il seguente per ottenere/impostare il valore.

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

@PanPipes ha fatto notare che questo è cambiato per la 4.x (lanciategli un upvote qui sotto). val è ora chiamato direttamente

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

Così all'interno del loadComplete della jqGrid puoi ottenere qualsiasi valore tu stia cercando e poi impostare il valore della selectbox.

Nota dalla documentazione

Notate che per usare questo metodo dovete definire la funzione funzione initSelection nelle opzioni in modo che Select2 sappia come trasformare l'id dell'oggetto che passate in val() nell'oggetto completo che ha bisogno per rendere la selezione. Se ti stai attaccando ad un elemento select questa funzione è già fornita per voi.

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

questo dovrebbe essere d'aiuto.

Commentari (1)

Volevo solo aggiungere una seconda risposta. Se hai già reso la select come una select2, dovrai farlo riflettere nel tuo selettore come segue:

$("#s2id_originalSelectId").select2("val", "value to select");
Commentari (0)