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
Sort Options in HTML Select
提问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 values
and Option texts
are unsorted in Select
. Is this possible to sort this options in JQuery or Javascript by value
or text
alphabetically ??
Option values
并且Option texts
在Select
. 是否可以按value
或text
按字母顺序在 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
这是相同的小提琴