我只知道 javascript 和 JQuery 的基础知识,我在 stackoverflow 上搜索了所有 64 个主题的答案。
简而言之:我用方法更新了jquery表格单元格的内容
$('[data-id="2"][data-name="name"]').html('Дима');
table.draw();
一切都更新得很好,甚至在 table.draw(); 行被过滤了!当过滤器被应用时,html body 消失了<tr><td></td></tr>
。运行脚本假设$('[data-id="2"][data-name="name"]').html('Дима');
如果这个 DOM 元素被 DataTables 过滤,即 她只是将其从 html 中删除,然后更改不适用。我更改了过滤器中的值,这条线出现了旧值。行家,告诉我你需要进入什么样的 DataTables 丛林才能改变单元格和属性的值,不管应用什么过滤器?
我看着通过 json 更新的方向——但它不适合我——我不明白如何在那里设置类和数据属性。当我只需要在客户端更改一个值时,我仍然不明白为什么要传输 40x300 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>
解决方法很简单
例子: