2016-06-28 5 views
2

Ich verwende tablesorter für Art andere Art von Zahl und String, aber diese Zahl Ich habe Nummer wie: (mit Komma und Leerzeichen)Tablesorter spezifische Art mit Französisch Nummer

200,08€ 
1 201,56€ 
1 521 120,00€ 

ich irgendwie wie sein müssen

1 521 120,00€ 
1 201,56€ 
200,08€ 

und umgekehrt.

Ich versuche, einen Parser:

$.tablesorter.addParser({ 
 
    id: "colcpl", 
 
    is: function(s) { 
 
    return /^[0-9]?[0-9, \.]*$/.test(s); 
 
    }, 
 
    format: function(s) { 
 
    return jQuery.tablesorter.formatFloat(s.replace(/,/g, '')); 
 
    }, 
 
    type: "numeric" 
 
});

aber es funktioniert nicht, haben Sie eine Vorstellung davon, warum? vielen dank!

Antwort

1

Es gibt zwei Probleme mit dem Parser: (1) Das Komma sollte durch einen Dezimalpunkt ersetzt werden, und (2) die Leerzeichen müssen entfernt werden.

versuchen, dieses Update (demo)

$(function() { 

    $.tablesorter.addParser({ 
    id: "colcpl", 
    is: function(s) { 
     return /^[0-9]?[0-9, \.]*$/.test(s); 
    }, 
    format: function(s) { 
     return jQuery.tablesorter.formatFloat(s.replace(/\s/g, '').replace(/,/g, '.')); 
    }, 
    type: "numeric" 
    }); 

    $('table').tablesorter({ 
    sortList: [[0,1]], 
    headers: { 
     0: { sorter: 'colcpl' } 
    } 
    }); 

});