gpt4 book ai didi

javascript - 按值对 Html Select 的选项进行排序的最有效方法是什么,同时保留当前选定的项目?

转载 作者:IT王子 更新时间:2023-10-29 02:48:26 24 4
gpt4 key购买 nike

我有 jQuery,但我不确定它是否有任何内置的排序助手。我可以为每个项目的 textvalueselected 属性制作一个二维数组,但我不认为 javascript 内置于 Array.sort() 会正常工作。

最佳答案

将选项提取到临时数组中,排序,然后重建列表:

var my_options = $("#my_select option");
var selected = $("#my_select").val();

my_options.sort(function(a,b) {
if (a.text > b.text) return 1;
if (a.text < b.text) return -1;
return 0
})

$("#my_select").empty().append( my_options );
$("#my_select").val(selected);

Mozilla's sort documentation (特别是 compareFunction)和 Wikipedia's Sorting Algorithm page是相关的。

如果您想让排序不区分大小写,请将 text 替换为 text.toLowerCase()

上面显示的排序函数说明了如何排序。准确地对非英语语言进行排序可能很复杂(请参阅 unicode collation algorithm)。使用localeCompare在排序功能中是一个很好的解决方案,例如:

my_options.sort(function(a,b) {
return a.text.localeCompare(b.text);
});

关于javascript - 按值对 Html Select 的选项进行排序的最有效方法是什么,同时保留当前选定的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com