2016-11-23 2 views
1

Wenn Sie mehrere Elemente auswählen, werden diese alphabetisch sortiert. Wir möchten die Auswahlreihenfolge ohne Sortierung voreinstellen. Das heißt, wenn ich "B" und dann "A" wähle, sollte die Mehrfachauswahl "B", "A" und nicht "A", "B" anzeigen. Wie erreiche ich das?Select2 multiselect - Wie man die automatische Sortierung stoppt?

<select id="multiple" class="form-control select2-multiple" multiple> 
<optgroup label="Alaskan"> 
<option value="A">A</option> 
<option value="B">B</option> 
</optgroup> 
</select> 

Danke.

+2

Code Post. –

Antwort

0

Es gibt eine Lösung mit Select2 v4. Es ändert die Reihenfolge der Elemente - das vom Benutzer ausgewählte Element wird an das Ende verschoben.

$("select").select2(); 

$("select").on("select2:select", function (evt) { 
    var element = evt.params.data.element; 
    var $element = $(element); 

    $element.detach(); 
    $(this).append($element); 
    $(this).trigger("change"); 
}); 





<link href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/css/select2.css" rel="stylesheet"/> 

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script> 
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0/js/select2.js"></script> 

<select style="width: 500px;" multiple="multiple"> 
    <option>two</option> 
    <option>four</option> 
    <option>six</option> 
</select> 

Source

Verwandte Themen