我是新手,但通过阅读此post,我已经能够创建一个js函数来按用户语言对多语言国家/地区名称的选择列表进行排序。
post的OP似乎与我有类似的情况。
当我更改选择列表时,将调用以新语言对国家/地区名称进行排序的功能。
但是,我不确定如何在首次加载页面时对选择列表进行排序。我已尝试在$(document).ready(function() {
中调用该函数,但这不会在加载页面时对列表进行排序。可能有一个简单的解决方案,但我看不到它。
有人有任何建议吗?
这是我的工作职能:
function sortCountryNames() {
// sort the country names in alphabetical order.
var selected = $("#country_names").val(); // preserve the users selected value.
var options = $('#country_names option');
var arr = options.map(function(_, o) {
return {t: $(o).text(), v: o.value};
}).get();
arr.sort(function(o1, o2) {
return o1.t.toLowerCase().localeCompare(o2.t.toLowerCase());
});
options.each(function(i, o) {
o.value = arr[i].v;
$(o).text(arr[i].t);
});
$("#country_names").val(selected); // assign the preserved users selected value.
}