Javascript X-可编辑和引导数据表

Javascript X-可编辑和引导数据表,javascript,html,datatable,x-editable,Javascript,Html,Datatable,X Editable,我尝试在引导数据表中实现x-editable,但没有成功,原因是当我从x-editable更新元素时,数据表无法识别这些更改。。我尝试过更新表、销毁表、隐藏标记,但主要问题似乎是datatables在初始化后无法识别任何更改。。 我通过单击按钮添加行,当它们到达表时,我在这些元素上运行.editable。它们可以编辑,但数据表的排序和搜索不起作用 有人能帮我吗?问题是出于性能原因,Datatables将表缓存到内存中,因此实际上DOM表与内存中的表不同。当您修改DOM时,它不会更改内存中的表 因

我尝试在引导数据表中实现x-editable,但没有成功,原因是当我从x-editable更新元素时,数据表无法识别这些更改。。我尝试过更新表、销毁表、隐藏标记,但主要问题似乎是datatables在初始化后无法识别任何更改。。 我通过单击按钮添加行,当它们到达表时,我在这些元素上运行.editable。它们可以编辑,但数据表的排序和搜索不起作用


有人能帮我吗?

问题是出于性能原因,Datatables将表缓存到内存中,因此实际上DOM表与内存中的表不同。当您修改DOM时,它不会更改内存中的表

因此,Datatables创建了一个函数助手:
invalidate()
,可以应用于一行(也有多行版本)

或者您仍然可以使用函数
data()
,这会减少CPU消耗(推荐)

我会这样做:

$('.xeditable').on('save', function(e, params) {
    var $tr = $(e.target).closest('tr');
    var newValue = params.newValue;
    //If you didn't save the datatable into a var table, you need to call this line :
    //var table = $('#example').DataTable();
    table.row(tr).data(newValue);
    //Or table.row(tr).invalidate(); which should read from the DOM directly
});

谢谢,伙计,我认为这是一条正确的道路,但是当我使用单元格(td)。数据(newValue)时,它会破坏可编辑的内容,只会变成文本。。我将继续尝试其他方法来实现这一点。如何创建数据表?Ajax?简单html表格,数据通过table.row.add.插入。。每个td都是我的personal.editable类的一个标记,因此在它被添加到表中之后,我在该类上运行一个函数来放置每个editablewell,我通过调用(“#client_process_table”).DataTable().rows().invalidate(“dom”);每次编辑任何可编辑的x。。但是我相信这不是最好的方法。。