Сортировка DataTables для столбца имени категории не работает - PullRequest
0 голосов
/ 19 марта 2020

Вот HTML код

 <table id="datatable-language" class="table table-hover datatable-highlight">
                        <thead>
                        <tr>
                            <th></th>
                            <th>image</th>
                            <th>category_name</th>
                            <th>status</th>
                            <th></th>
                            <th></th>
                        </tr>
                        </thead>
                    </table>

Вот код JS внутри Datatable

image

Как видите, я устанавливаю заказываемый атрибут true и имя категории все еще не работает. Есть ли пропущенное свойство config ?! Так в чем проблема? остальная часть кода вообще не имеет смысла. Я прикрепил фрагменты, которые делают таблицы конфигурации

Ответы [ 2 ]

0 голосов
/ 27 марта 2020

Взгляните на columns.render документы> https://datatables.net/reference/option/columns.render, особенно на параметр типа.

Ваша проблема в том, что DT будет сортировать визуализированную разметку столбцов, а не name само значение. Поэтому передайте обратно значение name для сортировки, разметку для всего остального:

render: function (data, type, row) {
    return type == 'sort'
      ? row['name']
      : `<a href="{{ link('catalog/category/update?category_id=') }}${row['category_id']}">${row['name']}</a>;
 }
0 голосов
/ 19 марта 2020
 {
  data: "name",
  ordering: true,
  render: function (data, type, row) {
    return `<a href="{{ link('catalog/category/update?category_id=') }}${row['category_id']}">${row['name']}</a>;
  }

вы записываете это изменение data:"name" в data:"category_name"

, а также возвращаете

<a href="{{ link('catalog/category/update?category_id=') }}${row['category_id']}">${row['name']}</a>;

здесь измените имя на category_name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...