Estoy usando el jQuery Tablesorter y tengo un problema con el orden en que los analizadores se aplican a las columnas de la tabla. Estoy agregando un analizador personalizado para manejar la moneda del formulario $ -3.33.Analizador personalizado para 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"
});
El problema parece ser que el analizador de monedas incorporado tiene prioridad sobre mi analizador personalizado. Podría poner el analizador sintáctico en el código de la tabla de comandos (antes del analizador de monedas) y funciona correctamente, pero esto no es muy fácil de mantener. No puedo especificar el clasificador de forma manual utilizando algo como:
headers: {
3: { sorter: "fancyNumber" },
11: { sorter: "fancyCurrency" }
}
desde las columnas de las tablas se generan dinámicamente a partir de las entradas del usuario. Supongo que una opción sería especificar el clasificador para usar como clase css y utilizar algo de JQuery para especificar explícitamente un clasificador como this question, pero preferiría seguir con la detección dinámica si fuera posible.
¿Falla cuando solo hay valores de moneda positivos o siempre ha habido valores negativos? –
@Tim: verifique mi respuesta y espero que sea útil. Gracias amigo. – Gaurav123