有这样的情况:
<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
和Option texts
在Select
中未排序。是否可以按value
或text
按字母顺序对JQuery或Javascript中的此选项进行排序?
结果应该是这样的:
<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>
答案 0 :(得分:4)
此代码应该这样做。我已经根据它们的值对它们进行了排序,但这也可以用于根据文本进行排序。
$(document).ready(function() {
var opt = $("#trollSelect option").sort(function (a,b) { return a.value.toUpperCase().localeCompare(b.value.toUpperCase()) });
$("#trollSelect").append(opt);
});
此处为同一
的fiddle