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

Другие вопросы по тегам