When user selects many items (tags), they are automatically sorted alphabetically. How to prevent automatic sort and keep user's order using Select2 4.0?
Update:
The mentioned "possible dublicate question" is for the older version of Select2 v3... I ask about version 4... It differs form older ones and mentioned answers dosn't solve the problem.
回答1:
I've found a solution that works with Select2 v4. It changes the order of items - item selected by user are moved to the end.
$("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"); });
$("select").select2(); $('#sayResult').click(function () { // 'data' brings the unordered list, while val does not var data = $('select').select2('data'); // Push each item into an array var finalResult = data.map(function () { return this.id; }); // Display the result with a comma alert( finalResult.join(',') ); });