javascript HTML 选择中的排序选项

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/23907833/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 01:46:57  来源:igfitidea点击:

Sort Options in HTML Select

javascriptjqueryhtml

提问by user3383675

There is situation like this:

有这样的情况:

<select id="trollSelect">
    <option value="PL">Polish Troll</option>
    <option value="EN">English Troll</option>
    <option value="JP">Japanese Troll</option>
    [...] //more options created dynamically
</select>

Option valuesand Option textsare unsorted in Select. Is this possible to sort this options in JQuery or Javascript by valueor textalphabetically ??

Option values并且Option textsSelect. 是否可以按valuetext按字母顺序在 JQuery 或 Javascript 中对这些选项进行排序?

The result should be like that:

结果应该是这样的:

<select id="trollSelect">
    <option value="EN">English Troll</option>
    <option value="JP">Japanese Troll</option>
    <option value="PL">Polish Troll</option>
    [...] //more options created dynamically
</select>

回答by Samy S.Rathore

This code should do it. I've sorted them on their values but this can also be used to sort based on the text.

这段代码应该可以。我已经根据它们的值对它们进行了排序,但这也可以用于根据文本进行排序。

$(document).ready(function() {
    var opt = $("#trollSelect option").sort(function (a,b) { return a.value.toUpperCase().localeCompare(b.value.toUpperCase()) });
    $("#trollSelect").append(opt);
});

Here's a fiddlefor the same

这是相同的小提琴