jQuery Datatable сортировка по дате с текстом
У меня есть довольно простой набор данных jQuery, который состоит из нескольких столбцов, и у меня есть один столбец, который содержит тему, срок выполнения и краткое описание.
То, что я хотел бы сделать, это отсортировать столбец только по дате и игнорировать остальное. Это прекрасно работает, если у меня есть только дата, но как только я добавляю текст дополнения, он больше не сортируется должным образом.
Вот фрагмент кода jQuery:
$(document).ready(function() {
$('#casesDataTable').dataTable(
{
"sPaginationType": "full_numbers",
"aLengthMenu": [[25, 50, 100, -1], [25, 50, 100, "All"]],
"iDisplayLength": 100,
"aaSorting": [[1, "desc"]]
});
});
А вот фрагмент кода HTML без CSS:
<tr>
<th id="subject" style="width:40%;">
Subject & Due Date
<span class="DataTables_sort_icon css_right ui-icon ui-icon-triangle-1-n"></span>
</th>
<th id="modified" style="width:10%;">
Last Modified
<span class="DataTables_sort_icon css_right ui-icon ui-icon-triangle-1-n"></span>
</th>
</tr>
<td class="center subject">
<span style="display: none;">9/26/2011</span>
<div class="padding">
tester 3
</div>
<div class="padding duedate">
<p>9/26/2011 - Mauris nulla mauris, ornare quis accumsan vitae, consectetur non sapien. In congue dui in sem cursus eleifend. Ut non suscipit augue. Praesent euismod auctor felis, eget pharetra justo euismod a. </p>
</div>
</td>
<td class="center sorting_1">
2/9/2011
</td>
<td class="center subject">
<span style="display: none;">4/30/2013</span>
<div class="padding">
tester 1
</div>
<div class="padding duedate">
<p>4/30/2013 - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque adipiscing rutrum lacinia. Donec ullamcorper ligula eu purus semper semper. Sed in est et nibh condimentum semper quis ultricies u...</p>
</div>
</td>
<td class="center sorting_1">
4/15/2013
</td>
<td class="center subject">
<span style="display: none;">5/16/2012</span>
<div class="padding">
tester 2
</div>
<div class="padding duedate">
<p>5/16/2012 - Nullam viverra, urna a tempus scelerisque, odio purus ultricies nibh, mollis pellentesque justo est quis augue. Quisque nec odio libero, tempus viverra leo.</p>
</div>
</td>
<td class="center sorting_1">
2/9/2012
</td>
<td class="center subject">
<span style="display: none;">5/16/2010</span>
<div class="padding">
tester 4
</div>
<div class="padding duedate">
<p>5/16/2010 - In vulputate rutrum elit nec mattis. Integer ullamcorper vestibulum sapien adipiscing gravida. Nullam quis ante diam, vel luctus elit. Quisque id adipiscing erat. ?</p>
</div>
</td>
<td class="center sorting_1">
2/9/2010
</td>
Когда я запускаю этот скрипт и сортирую по "Last Modified", он работает нормально, но если я сортирую по "Subject & Due Date", он портится, когда я пытаюсь его отсортировать по дате исполнения, которая находится в скрытом промежуток после каждого.
Кто-нибудь знает, как этого добиться, или может понять, что я делаю не так?
1 ответ
У меня была похожая проблема, и я нашел решение на днях.
Для любого столбца вы можете указать параметр iDataSort, который указывает альтернативный столбец для сортировки. Вы можете объединить это с дополнительным столбцом, в котором у вас есть только дата, но скрыть этот столбец, используя bVisible = false.
См. Справку по столбцу по адресу http://datatables.net/usage/columns