Select2 4.0 - Drücken Sie den neuen Eintrag nach der Erstellung

7

Ich habe Select2 4.0.0-rc.1 für ein paar Wochen benutzt (mit dem ajax Adapter) und versuche eine Möglichkeit zu finden, Daten nach der Initialisierung zu "pushen".

>

Innerhalb der Dropdown-Liste habe ich die Wahl zu

  • Wählen Sie einen Eintrag in der Liste (mit ajax )
  • fügen Sie einen freien Eintrag hinzu (mit createTag )
  • fügen Sie einen neuen Eintrag hinzu

Wenn ich "einen neuen Eintrag hinzufügen" auswähle, kann ich ein Formular ausfüllen und nach dem Speichern müssen die neuen Daten als ausgewählter Eintrag angezeigt werden.

Wenn ich Daten mit select2_existing.select2( { data: data } ).val( 4 ); puste funktioniert es, aber ajax Aufruf funktioniert nicht mehr.

Ich muss dann

  1. destroy select2
  2. erstelle es neu

Dann kann ich meine neuen Daten und ajax adapter verwenden.

Es ist möglich, dies ohne den create- & gt; data- & gt; destroy- & gt; create Zyklus zu tun?

    
Frederic 15.03.2015, 08:17
quelle

1 Antwort

18

Sie sollten in der Lage sein, eine neue ausgewählte Option zu verschieben, indem Sie ein neues <option selected> -Tag mit den Informationen erstellen, die Sie anzeigen möchten.

%Vor%

Sobald Sie diese <option> an die ursprüngliche <select> angefügt haben, müssen Sie das Ereignis change auslösen, damit Select2 (und anderen Komponenten) bewusst ist, dass sich der Wert geändert hat.

%Vor%

Also alles in JavaScript zusammenfügen

%Vor%     
Kevin Brown 16.03.2015, 23:10
quelle