2

こんにちは、ポーランド語の文字を並べ替えるためのtablesorterプラグインを作成しましたが、プラグインは1つの方法で並べ替えます http://jsfiddle.net/Gk43v/ここに例とプラグインコードがあります

$.tablesorter.addParser({
   id: 'polish-chars' ,
   type: 'text',
   is: function(s)
   {
       return false;
   },
   format: function(s)
   {
       return
       s.replace('\u0105'/g, 'a')
       .replace('\u0104'/g, 'A')
       .replace('\u0118'/g, 'E')
       .replace('\u0119'/g, 'e')
       .replace('\u0107'/g, 'c')
       .replace('\u0106'/g, 'C')
       .replace('\u0143'/g, 'N')
       .replace('\u0144'/g, 'n')
       .replace('Ó'/g, 'O')
       .replace('ó'/g, 'o')
       .replace('\u0141'/g, 'L')
       .replace('\u0142'/g, 'l')
       .replace('\u015a'/g, 'S')
       .replace('\u015b'/g, 's')
       .replace('\u0179'/g, 'Z')
       .replace('\u017a'/g, 'z')
       .replace('\u017b'/g, 'Z')
       .replace('\u017c'/g, 'z')
   }
});

編集:このプラグインをtablesorterで使用すると、エラーが表示されなかったため、次/gのようになります。

$.tablesorter.addParser({
   id: 'polish-chars',
   type: 'text',
   is: function(s)
   {
       return false;
   },
   format: function(s)
   {
       return s.replace('ą', 'a')
               .replace('Ą', 'A')
               .replace('Ę', 'E')
               .replace('ę', 'e')
               .replace('ć', 'c')
               .replace('Ć', 'C')
               .replace('Ń', 'N')
               .replace('ń', 'n')
               .replace('Ó', 'O')
               .replace('ó', 'o')
               .replace('Ł', 'L')
               .replace('ł', 'l')
               .replace('Ś', 'S')
               .replace('ś', 's')
               .replace('Ź', 'Z')
               .replace('ź', 'z')
               .replace('Ż', 'Z')
               .replace('ż', 'z');
   }
});

私が働きたかったように働きます。

4

1 に答える 1

2

replace with を/g使用する場合は、引用符を使用しないでください (更新されたデモ):

$.tablesorter.addParser({
    id: 'polish-chars',
    type: 'text',
    is: function(s) {
        return false;
    },
    format: function(s) {
       return s.replace(/\u0105/g, 'a')
       .replace(/\u0104/g, 'A')
       .replace(/\u0118/g, 'E')
       .replace(/\u0119/g, 'e')
       .replace(/\u0107/g, 'c')
       .replace(/\u0106/g, 'C')
       .replace(/\u0143/g, 'N')
       .replace(/\u0144/g, 'n')
       .replace(/Ó/g, 'O')
       .replace(/ó/g, 'o')
       .replace(/\u0141/g, 'L')
       .replace(/\u0142/g, 'l')
       .replace(/\u015a/g, 'S')
       .replace(/\u015b/g, 's')
       .replace(/\u0179/g, 'Z')
       .replace(/\u017a/g, 'z')
       .replace(/\u017b/g, 'Z')
       .replace(/\u017c/g, 'z');
    }
});

または、オプションが. _sortLocaleCompare _ true不足しているポーランド語の文字をリストに追加するだけです。

$.extend( $.tablesorter.characterEquivalents, {
    "a" : "\u0105", // ą
    "A" : "\u0104", // Ą
    "c" : "\u0107", // ć
    "C" : "\u0106", // Ć
    "e" : "\u0119", // ę
    "E" : "\u0118", // Ę
    "l" : "\u0142", // ł
    "L" : "\u0141", // Ł
    "n" : "\u0144", // ń
    "N" : "\u0143", // Ń
    "o" : "\u00f3", // ó
    "O" : "\u00d3", // Ó
    "s" : "\u015b", // ś
    "S" : "\u015a", // Ś
    "z" : "\u017a\u017c", // źż
    "Z" : "\u0179\u017b" // ŹŻ
});
于 2012-05-30T19:46:57.023 に答える