Знаю только Азы 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>
Есть сайт на котором огромное количество, одинаковых элементов, картинка цена и тд
Есть маркированный списокМоя задача нечетным строчкам списка присвоить маркер "звездочка"