如何在jquery选择的下拉列表中按字母顺序重新排序<options> </options>

时间:2014-04-30 17:25:07

标签: javascript jquery-chosen

我有一个下拉列表,可以满足我的需求。我唯一的问题是出于所有意图和目的,我不能为下拉列表提供排序列表,但需要在客户端按字母顺序排序。我似乎无法找到任何与在所选插件中按字母顺序重新排列标记相关的内容。好奇,如果有人必须这样做或可以指向我正确的方向。示例代码为:

$("#my-dropdown").chosen({no_results_text: "No results matched"});

只是想知道是否有一个选项来组织它之前我自己在javascript中订购它。提前谢谢

2 个答案:

答案 0 :(得分:14)

您应首先对列表进行排序...然后运行所选的插件。

// sort list
var my_options = $("#my-dropdown option");
my_options.sort(function(a,b) {
    if (a.text > b.text) return 1;
    else if (a.text < b.text) return -1;
    else return 0
})
$("#my-dropdown").empty().append(my_options);

// run chosen plugin
$("#my-dropdown").chosen({no_results_text: "No results matched"});

列出排序代码从这里得到高度评价的答案:

What is the most efficient way to sort an Html Select's Options by value, while preserving the currently selected item?

答案 1 :(得分:1)

查看API,我也看不到任何排序选项。但是,这里有两个可能有用的链接:

  1. Ricky Rosario blog post of how to sort the select options
  2. jQuery Chosen Sortable project