Как отсортировать входные значения с помощью jquery datatables - PullRequest
1 голос
/ 19 сентября 2019

Я пытаюсь отсортировать даты в своей таблице с помощью Jquery "Datatables".

Это html / php, я написал:

<td><input id='".$row['id']."' class='delivery_date ".$flatpickr."' data-io='edit' data-date='".$row['delivery_date']."' value='".$row['delivery_date']."' style='color: ".$color."'/></td>

Я использую "Flatpickr"чтобы позволить пользователю изменить дату в столбце / ячейке, и вот что это значит:

<td><input id="69" class="delivery_date flatpickr flatpickr-input active" data-io="edit" data-date="2019-10-04" value="2019-10-04" style="color: " type="text" readonly="readonly"></td>

Я нашел этот плагин для «Datatables», который будет искать «Dom-текст»input.

/* Create an array with the values of all the input boxes in a column, parsed as numbers */
$.fn.dataTable.ext.order['dom-text-numeric'] = function  ( settings, col )
  {
    return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {
      return $('input', td).val() * 1;
    } );
  }

С этим плагином ничего не происходит.Это не работает, и я не получаю сообщений об ошибках.

Есть еще один плагин для сортировки "выбирает", и он работает как шарм.

Что мне не хватает?

Вот что я хотел бы сделать:
https://datatables.net/examples/plug-ins/dom_sort.html

Вот как это выглядит в моей таблице:
enter image description here

1 Ответ

1 голос
/ 20 сентября 2019

Вы можете использовать data-sort аналогичным образом, чтобы отсортировать столбец по дате доставки для php-html.

<td data-sort='".strtotime($row['delivery_date'])."' data-filter='".$row['delivery_date']."'>
    <input id='".$row['id']."' class='delivery_date ".$flatpickr."' data-io='edit' data-date='".$row['delivery_date']."' value='".$row['delivery_date']."' style='color: ".$color."'/>
</td>

Приведенный выше код будет сортировать столбец с отметкой времени, сгенерированной strtotime($row['delivery_date']).

Аналогично, вы можете использовать data-filter для поиска, как указано выше.

В случае, если вы обновляете дату во входных данных, старые значения будут рассматриваться для сортировки и фильтрации.Вам нужно будет проверить, как обновить эти значения. ( Динамическая сортировка в jquery DataTables или попытаться найти похожие вопросы)

...