javascript - 排序 select2 中的波兰字母

标签 javascript jquery jquery-select2

在@Rory McCrossan 的帮助下,设法创建了这样一个脚本来对选择字段中的值进行排序。但是,仍然存在一个问题——对波兰语字符的支持。有没有可能也考虑进去?

代码:

var dataUser = [{
    "id": "5",
    "text": "BTest"
}, {
    "id": "2",
    "text": "ATest"
}, {
    "id": "8",
    "text": "aTest"
}, {
    "id": "13",
    "text": "ŁTest"
}];

var dataUser2 = [{
    "id": "5",
    "text": "DBTest"
}, {
    "id": "2",
    "text": "FATest"
}];

$("#mylist").select2({
    data: dataUser,
    templateResult: function(data) {
        return data.text;
    },
    sorter: function(data) {
        return data.sort(function(a, b) {
            return a.text.toLowerCase() < b.text.toLowerCase() ? -1 : a.text.toLowerCase() > b.text.toLowerCase() ? 1 : 0;
        });
    }
}).on("select2:select", function(e) {
    var $container = $(this).next().find('.select2-selection__rendered');
    $container.find('li.select2-selection__choice').sort(function(a, b) {
        return $(a).text() < $(b).text() ? -1 : $(a).text() > $(b).text() ? 1 : 0;
    }).prependTo($container);
});

$("#mylist2").select2({
    data: dataUser2,
    templateResult: function(data) {
        return data.text;
    },
    sorter: function(data) {
        return data.sort(function(a, b) {
            return a.text.toLowerCase() < b.text.toLowerCase() ? -1 : a.text.toLowerCase() > b.text.toLowerCase() ? 1 : 0;
        });
    }
});

JSFIDDLE

最佳答案

尝试使用 String.localeCompare 而不是 < see: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare

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

关于javascript - 排序 select2 中的波兰字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35015380/

相关文章:

javascript - 带有 jQ​​uery 代码链接的 Bootstrap 按钮在多次单击后不更新按钮文本

javascript - 重置 select2 上的所有选项并加载另一个数据集

javascript - 防止 select2-dropdown 在接近动画时被分离

javascript - json 上的对象数组 - http put

javascript - 将对象分配给临时变量

Javascript 如何评估数字或特定字符串

javascript - 第二个 JQuery POST 未定义值

javascript - 如何让用户将图像移动到div中进行预览

angular - 如何在 Angular 2 项目中使用 types/select2?

javascript - 如何使用引用 $jumbotron 更改 jumbotron 中单词的颜色?