Select2 jQuery插件:有没有办法按字母顺序对标签列表进行排序?

我正在使用Select2插件( http://ivaynberg.github.io/select2/ ),正如您在屏幕截图中看到的标签列表所示,它们没有按字母顺序列出,我希望能够这样做。

在此处输入图像描述

编辑:这是我目前拥有的,但我想通过’text’而不是’id’来排序数据(@appTags),而不是查询。

scope.find('input[name=noun]').select2({ data: @appTags, sortResults: function(results, container, query) { if (query.term) { return results.sort(); } return results; } }); 

我的控制台在调试器中暂停的屏幕截图:

在此处输入图像描述

这是@appTags对象的图像,我想通过’text’排序:

在此处输入图像描述

以下是使用JS内置排序函数的文档中的一些代码。 我将其修改为按字母顺序排序,而不是像文档中那样按长度排序。

 $('#e22').select2({ sortResults: function(results, container, query) { if (query.term) { // use the built in javascript sort function return results.sort(); } return results; } }); 

对于select2插件版本4.0

 var customSorter = function(data) { return data.sort(function(a,b){ a = a.text.toLowerCase(); b = b.text.toLowerCase(); if(a > b) { return 1; } else if (a < b) { return -1; } return 0; }); }; 

在select2版本4.0中,排序参数名称更改为“sorter”现在将“customSorter”传递给插件

$(“#genre”)。select2({tags:true,sorter:customSorter});