J'utilise le jQuery Tablesorter et je rencontre un problème avec l'ordre dans lequel les analyseurs sont appliqués aux colonnes de la table. J'ajoute un analyseur personnalisé pour gérer la devise du formulaire $ -3.33.Analyseur personnalisé pour JQuery Tablesorter
$.tablesorter.addParser({
id: "fancyCurrency",
is: function(s) {
return /^\$[\-]?[0-9,\.]*$/.test(s);
},
format: function(s) {
s = s.replace(/[$,]/g,'');
return $.tablesorter.formatFloat(s);
},
type: "numeric"
});
Le problème semble être que l'analyseur de devises intégré a priorité sur mon analyseur personnalisé. Je pourrais mettre l'analyseur dans le code de tablesorter lui-même (avant l'analyseur de devise) et cela fonctionne correctement, mais ce n'est pas très maintenable. Je ne peux pas spécifier le classeur manuellement en utilisant quelque chose comme:
headers: {
3: { sorter: "fancyNumber" },
11: { sorter: "fancyCurrency" }
}
puisque les colonnes de la table sont générées dynamiquement à partir des entrées de l'utilisateur. Je suppose qu'une option serait de spécifier le trieur à utiliser comme une classe css et d'utiliser un peu JQuery pour spécifier explicitement un trieur comme le suggère this question, mais je préférerais m'en tenir à la détection dynamique si possible.
Echoue-t-il quand il n'y a que des valeurs de devise positives, ou a-t-il toujours eu des valeurs négatives? –
@Tim: veuillez vérifier ma réponse et espérer que cela vous sera utile. Merci mon ami. – Gaurav123