调用函数在页面加载时对选择列表进行排序

时间:2016-11-29 03:03:32

标签: javascript jquery sorting

我是新手,但通过阅读此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.
}

0 个答案:

没有答案