Hvordan endrer jeg valgt verdi i select2-rullegardinmenyen med JqGrid?

Jeg bruker Oleg' s select2 demo, men jeg lurer på om det ville være mulig å endre den valgte verdien i rullegardinmenyen.

For eksempel, hvis de fire innlastede verdiene var: "Any", "Fruit", "Vegetable", "Meat" og rullegardinlisten som standard er "Any", hvordan kan jeg da endre den til "Fruit" i JqGrid-hendelsen loadComplete?

Er dette mulig?

Hvis du ser på select2-dokumentene, bruker du følgende for å hente/innstille verdien.

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

@PanPipes har påpekt at dette har endret seg for 4.x (gi ham en upvote nedenfor). val kalles nå direkte

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

Så i loadComplete i jqGrid kan du hente den verdien du leter etter, og deretter angi verdien for valgboksen.

Legg merke til følgende fra dokumentasjonen

Legg merke til at du må definere funksjonen initSelection i options for å kunne bruke denne metoden. initSelection-funksjonen i alternativene, slik at Select2 vet hvordan den skal omdanne id-en til objektet du sender inn i val() til det fullstendige objektet det

trenger for å gjengi utvalget. Hvis du kobler til et select-element er denne funksjonen allerede tilgjengelig for deg.

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

bør dette være til hjelp.

Kommentarer (1)

Jeg ville bare legge til et annet svar. Hvis du allerede har gjengitt select som en select2, må dette gjenspeiles i selector på følgende måte:

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