select2 - 如何进行排序结果:先短,再长?

时间:2015-03-24 15:10:23

标签: jquery-select2

我使用select2 jQuery替换选择框 https://select2.github.io/examples.html 需要改变什么来制作下一个排序结果:先短,然后长? 例如: 我有下一个选择:

<option value="1">Jacksonville (Florida)</option> 
<option value="2">Florida reg.</option> 
<option value="3">Florentia</option> 
... 
<option value="9999">Florida region</option> 
<option value="5">Miami (Florida)</option> 

1)当你输入&#34; Flo&#34; - 我看到下一个结果:

杰克逊维尔(佛罗里达州)
佛罗里达州 Florentia
佛罗里达州
迈阿密(佛罗里达州)

2)当你输入&#34; Flori&#34; - 我看到下一个结果:

杰克逊维尔(佛罗里达州)
佛罗里达州 佛罗里达州
迈阿密(佛罗里达州)

该怎么做:在两个案例中,最重要的是最短的结果:

1)

佛罗里达州 Florentia
佛罗里达州
迈阿密(佛罗里达州)

2)

佛罗里达州 佛罗里达州
迈阿密(佛罗里达州)

感谢

1 个答案:

答案 0 :(得分:0)

当您从AJAX调用中收到新的建议数组时,您需要按长度对其元素进行排序。下面是代码示例:

&#13;
&#13;
// this array will come from the AJAX call
var array = ['Jacksonville (Florida)', 'Florida', 'Florida reg.', 'Miami (Florida)'];
array.sort(function(a, b){return a.length - b.length});
alert(array);
// after the array is sorted you can use it for your select widget
&#13;
&#13;
&#13;