更新Jquery数据库单元格值

我有一个jquery数据表,里面有很多跨度。 该表使用来自DB的ajax数据加载,然后动态更新跨度以匹配用户更改值时具有相同类的所有其他跨度。

我遇到的问题是,当我更新跨度数据表时似乎并不知道它已更新。

例如,如果我将值更新为555然后搜索555则不会返回结果。

我尝试使用.draw()但它似乎不起作用。 如何在不破坏和重建表的情况下让datatable更新所有单元格值。 摧毁似乎是一种巨大的矫枉过正。

我已经打了一段时间了,我认为它可能与数据表使用的缓存有关。 我发现的是,如果你找到了单元格,那么将data属性设置为它工作的单元格的html值。 到目前为止,你会做这样的事情。

 var UpdateTD = $(".changemade").parent('td'); table.cell( UpdateTD ).data( UpdateTD.html()).draw(); 

这确实是我发现使它成功的唯一方法。 它似乎并不是最好的方法,但似乎确实有效。 这是更新的小提琴,显示它在行动https://jsfiddle.net/jebwq9yL/1/

像这样将table定义为全局变量

使用HTML更新

Tiger Nixon

。 从代码中删除了跨度。 要访问一个单元格,你必须给td而不是span的类名或id。

 var table; $(document).ready(function() { ........ // DataTable table = $('#example').DataTable(); ........ }); $('.changebutton').on('click', function () { // update cell value based on selector table.cell($('.changemade')).data('MEOW!').draw() }); }); //and use this code to listen the draw event. table.on('draw', function() { alert('table has been re-drawn') }); 

DEMO

在您的小提琴搜索工作,因为变量tablesearch function在相同的范围但table.draw超出范围,因此它不工作