DataTables редактирование одной ячейки

246
11 ноября 2017, 12:57

Знаю только Азы javascript и JQuery, Искал ответа на всех 64 темах в stackoverflow.

В кратце: Обновляю содежимое ячеек таблицы jquery методом

$('[data-id="2"][data-name="name"]').html('Дима');
table.draw();

Все прекрасно обновляется и даже после table.draw(); строки фильтруются как надо!Когда применяются фильтры, в теле html пропадают <tr><td></td></tr> . Отрабатывает скрипт предположим $('[data-id="2"][data-name="name"]').html('Дима'); Если этот DOM элемент отфильтрован DataTables, т.е. она его просто удалила из html, то изменение не применяется. Меняю значение в фильтре и появляется эта строка со старым значением. Знатоки подскажите в какие дебри DataTables надо залезть, чтобы иметь возможность менять значение ячейки и атрибутов тоже вне зависимости от того какие фильтры применены?

Смотрел в сторону обновления через json - но он меня не устроил - не понял как там задавать классы и data атрибуты. Еще не понял зачем передавать скажем 40х300 ячеек json(ом), когда мне нужно поменять значение только одно на стороне клиента, тем более что все данные для этого я уже передал на сторону клиента. Где то же этот первозданный DOM с <tr></tr> сидит, раз уж DataTables его держит в памяти после применения другого фильтра.

Пример тестовый:

   var table = $('#table').dataTable();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.4/jquery.dataTables.min.js"></script> 
 
<table id="table"> 
  <thead> 
    <tr> 
      <th>Имя</th> 
      <th>Фамилия</th> 
    </tr> 
  </thead> 
  <tbody> 
    <tr> 
      <td data-id="2" data-name="name">Иван</td> 
      <td data-id="2" data-name="surname">Иванов</td> 
    </tr> 
    <tr> 
      <td data-id="5" data-name="name">Вася</td> 
      <td data-id="5" data-name="surname">Сидоров</td> 
    </tr> 
</table>

READ ALSO
Производительность верстки

Производительность верстки

Есть сайт на котором огромное количество, одинаковых элементов, картинка цена и тд

265
Можно ли before и nth-child совместить?

Можно ли before и nth-child совместить?

Есть маркированный списокМоя задача нечетным строчкам списка присвоить маркер "звездочка"

260