У меня есть этот пользовательский сортировщик в dataTable:
jQuery.fn.dataTableExt.oSort['abbr-date-asc'] = function(a,b) {
var x = a.match(/abbr="(.*?)"/)[1];
var y = b.match(/abbr="(.*?)"/)[1];
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
Когда я вхожу в отладчик, то в переменной A находится OLD HTML, т. Е. Что там, когда страница впервые рисуется.После того, как страница прорисована и в функции onReady перед выполнением этого кода ^^, я перерисовываю TDS в моей таблице, чтобы он стал другим HTML, который я хочу, чтобы этот пользовательский сортировщик взял.Это подбирать старые вещи.Любая идея?
РЕДАКТИРОВАТЬ: ЗДЕСЬ HTML
<span abbr="">
<span class="localtimeUTC" style="display: none;">Dec 03, 2011</span>
<span class="localtimeUTCabbr" style="display: none;">2011-12-03</span>
</span>
И это HTML-код на странице в момент нажатия, когда я хочу отсортировать его:
<span abbr="2011-12-03">Dec 03, 2011</span>
Подбирает оригинал.Я пытался использовать bUseRendered: false в определении таблицы, без кости.Я попытался преобразовать функцию сортировки в замыкание, без игры в кости.
jQuery('#my_table').dataTable( {
"bJQueryUI": true,
"bAutoWidth": false,
"bUseRendered" : false,
"aoColumns" : [
{ sWidth: '5%', bSortable: false, bSearchable: false },
{ sWidth: '35%' },
{ sWidth: '15%' },
{ sWidth: '15%', sType: 'abbr-date', bSortDataType: "abbr-date" },
{ sWidth: '30%', bSortable: false, bSearchable: false }
],
}).show();