Я искал по форумам и не мог найти ситуацию, похожую на мою, поэтому я подумал, может ли кто-нибудь здесь помочь.
У меня есть динамически генерируемая таблица, которая содержит столбец с «датами выпуска», которые я хотел бы отсортировать по дате.Проблема в том, что значениям даты в этом столбце предшествует количество выпусков в скобках.
Возможными значениями в этом столбце будут полная отметка даты и времени с обозначением AM / PM и с предшествующим номером или выпусками или словом «Нет».Например, это некоторые фактические значения из таблицы данных:
None
[1] 1/24/2008 5:53:35 PM
[1] 7/31/2012 11:32:50 AM
[10] 3/29/2013 2:59:04 PM
[3] 12/17/2014 2:43:27 PM
[1] 1/9/2015 6:48:31 PM
[4] 1/9/2015 7:02:09 PM
[4] 1/30/2015 11:25:20 AM
[2] 12/27/2016 12:32:02 PM
[2] 11/16/2017 11:04:22 AM
Из-за дополнительных символов, предшествующих дате, встроенная сортировка работает неправильно.Я добавил следующий параметр в свой код, чтобы назначить пользовательский синтаксический анализатор для столбца, который является третьим из перечисленных в таблице:
headers: 2: { sorter: 'DateParser' }
И вот код для моего синтаксического анализатора, чтобы удалить первые символыоставляя только дату и время:
$.tablesorter.addParser({
id: 'DateParser',
is: function(s) {
return false;
},
format: function(s) {
var datesort;
if (s != "None") {
var livereleasedate = s.split(']');
var datetime = livereleasedate[1].trim();
console.log(datetime);
datesort = datetime;
}
else {
datesort = s;
}
return datesort;
},
type: 'text'
});
К сожалению, это все еще не совсем правильно.Похоже, что значения месяца и дня сортируются в правильном порядке, а остальная часть строки - нет.Когда я нажимаю на заголовок столбца, чтобы отсортировать значения, я получаю следующее:
[1] 1/9/2015 6:48:31 PM
[4] 1/9/2015 7:02:09 PM
[1] 1/24/2008 5:53:35 PM
[4] 1/30/2015 11:25:20 AM
[10] 3/29/2013 2:59:04 PM
[1] 7/31/2012 11:32:50 AM
[2] 11/16/2017 11:04:22 AM
[3] 12/17/2014 2:43:27 PM
[2] 12/27/2016 12:32:02 PM
None
Есть предложения, как это решить?
Заранее спасибо.