Select2:如何防止标签排序

当用户选择许多项目(标签)时,它们会按字母顺序自动排序。 如何使用Select2 4.0防止自动排序并保持用户的订单?

更新:

提到的“可能的dublicate问题”是针对旧版本的Select2 v3 …我问的是版本4 …它与旧版本不同,并提到答案不能解决问题。

我找到了一个适用于Select2 v4的解决方案。 它会更改项目的顺序 – 用户选择的项目将移动到最后。

$("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"); }); 
     

之前已经讨论过 Select2 3.5.2,您可以使用select2('data')来获取订单。

 $("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(',') ); });