Wie ändere ich ausgewählten Wert von select2 Dropdown mit JqGrid?

I'm mit Oleg's [select2 demo] (http://www.ok-soft-gmbh.com/jqGrid/UsageFormetterSelect2.htm), aber ich frage mich, ob es möglich wäre, den aktuell ausgewählten Wert in das Dropdown-Menü zu ändern.

Zum Beispiel, wenn die vier geladenen Werte waren: "Any", "Fruit", "Vegetable", "Meat"und die Dropdown-Liste standardmäßig"Any", wie würde ich in der Lage sein, das zu ändern, um"Fruit"in der JqGrid EreignisloadComplete`?

Ist dies möglich?

Mit Blick auf die [select2 docs] (http://ivaynberg.github.io/select2/#documentation) verwenden Sie die unten, um den Wert zu erhalten/zu setzen.

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

@PanPipes hat darauf hingewiesen, dass sich dies für 4.x geändert hat (bitte geben Sie ihm unten ein Upvote). val wird nun direkt aufgerufen

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

Innerhalb des "loadComplete" des jqGrid kann man also den gewünschten Wert abrufen und dann den Wert der Selectbox setzen.

Hinweis aus der Dokumentation

Beachten Sie, dass Sie, um diese Methode zu verwenden, die Funktion

initSelection-Funktion in den Optionen definieren muss, damit Select2 weiß, wie man die ID des Objekts, das Sie in val() übergeben, in das vollständige Objekt umwandelt, das zum Rendern der Auswahl benötigt. Wenn Sie sich an ein Select-Element anhängen wird diese Funktion bereits für Sie bereitgestellt.

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

Dies sollte hilfreich sein.

Kommentare (1)

Ich wollte nur eine zweite Antwort hinzufügen. Wenn Sie den Select bereits als select2 gerendert haben, müssen Sie das in Ihrem Selektor wie folgt widerspiegeln lassen:

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