Sto usando il jQuery Tablesorter e ho un problema con l'ordine in cui i parser sono applicati alle colonne della tabella. Sto aggiungendo un parser personalizzato per gestire la valuta del modulo $ -3,33.Custom Parser per 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"
});
Il problema sembra essere che il parser di valuta incorporato ha la precedenza sul mio parser personalizzato. Potrei mettere il parser nel codice del tablesorter stesso (prima del parser di valuta) e funziona correttamente, ma questo non è molto mantenibile. Non posso specificare il sorter manualmente utilizzando qualcosa come:
headers: {
3: { sorter: "fancyNumber" },
11: { sorter: "fancyCurrency" }
}
poiché le colonne della tabella sono generati dinamicamente da input dell'utente. Immagino che un'opzione potrebbe essere quella di specificare il selezionatore da utilizzare come classe css e utilizzare qualche JQuery per specificare esplicitamente una sorter come this question suggerisce, ma preferirei mantenere il rilevamento dinamico se possibile.
Fallisce quando ci sono solo valori valutari positivi o ci sono sempre stati valori negativi? –
@Tim: per favore controlla la mia risposta e sperando che sia utile. Grazie amico. – Gaurav123