2012-05-29 54 views
2

嗨已經寫了tablesorter插件波蘭字符,但插件種類只是一種方法 http://jsfiddle.net/Gk43v/這裏是例子,插件代碼排序jQuery的tablesorter插件排序只是一種方法

$.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'); 
    } 
}); 

和工作,就像我想工作。

+0

請編輯您需要的操作?問題 – shareef

+0

我希望我的插件能夠對'asc'和'desc'進行排序,在jsfiddle示例中chceck 2列 –

回答

2

當使用/g更換,不要使用引號(updated demo):

$.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這確實character equivalents replacementssortLocaleCompare選項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" // ŹŻ 
}); 
+0

我不得不說這是我的一個偉大的fork'+ 1'。 Tommorow將更接近 –

+0

@fudgey銳利的眼睛+1 – shareef

+0

http://pastebin.com/NyFmhiyE我寫了這種日期時間格式的插件'dd.mm.YYY H:我:S'如果有人想 –

相關問題