J'utilise jquery tablesorter et je suis en train de trier une colonne avec des valeurs similaires à ceci:jquery tablesorter au format numérique comptable
100.000 $ 38.000 $ (4.000 $) 2.000 $
Les données contenues dans () sont des nombres négatifs. Lorsque vous utilisez la fonction de tri par défaut, il ne reconnaît pas le nombre négatif (4000 $), donc j'essaie de créer une fonction personnalisée pour gérer cela.
La solution ci-dessous est ce que j'ai trouvé, et cela fonctionne très bien. Mais je me demande s'il y a une meilleure solution? Je suis nouveau à jquery et je cherche juste un aperçu.
$(document).ready(function()
{
$.tablesorter.addParser({
// set a unique id
id: 'currency-column',
is: function(s) {
// return false so this parser is not auto detected
return false;
},
format: function(s) {
s = s.replace(/$/g,"");
s = s.replace(/\(/g,"-");
s = s.replace(/\)/g,"");
return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.-]/g),""));
},
type: 'numeric'
});
$("#myTable").tablesorter({
headers: {
3: { sorter:'currency-column' },
4: { sorter:'currency-column' },
5: { sorter:'currency-column' },
6: { sorter:'currency-column' },
7: { sorter: false },
10: { sorter:'currency-column' }
}
});
}
);
Encore une fois, il fait ce qui est nécessaire et je suis satisfait des résultats (et peut-être que je devrais le laisser là ...), mais s'il y a une meilleure solution que j'adorerait entendre .
Merci
il n'y a rien de mal avec la façon dont vous avez utilisé , J'ai fait une recherche, la seule alternative que j'ai trouvée était d'avoir une colonne cachée avec les valeurs non formatées comme valeurs float et trier par ce – TStamper
Merci, j'apprécie. – Kevin