Я использую jQuery Tablesorter и имею проблему с порядком, в котором синтаксические анализаторы применяются к столбцам таблицы. Я добавляю настраиваемый парсер для обработки валюты формы $ -3.33.Пользовательский парсер для 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"
});
Проблема заключается в том, что встроенный анализатор валюты имеет приоритет над моим пользовательским парсером. Я мог бы поместить синтаксический анализатор в код tablesorter (перед парсером валюты), и он работает правильно, но это не очень удобно. Я не могу указать сортировщика вручную, используя что-то вроде:
headers: {
3: { sorter: "fancyNumber" },
11: { sorter: "fancyCurrency" }
}
так как столбцы таблицы генерируются динамически с пользовательских входов. Я предполагаю, что одним из вариантов было бы задать сортировщик для использования в качестве класса css и использовать некоторый JQuery для явного указания сортировщика, например, this question, но я бы предпочел придерживаться динамического обнаружения, если это возможно.
Неужели это происходит, когда есть только положительные значения валюты или всегда есть отрицательные значения? –
@ Тим: пожалуйста, проверьте мой ответ и надеемся, что это будет полезно. Спасибо друг. – Gaurav123