仅检索DataTable中的已修改行

时间:2013-05-08 19:42:14

标签: jquery ajax datatable datatables

我渲染一个包含两列的页面,其中一列有输入字段,另一列有复选框。 假设我修改了其中一个输入字段中的条目,并取消选中另一行中的复选框。

现在,当我单击“保存”按钮并调用下面的代码时,我会收到所有屏幕行,而不会使用新值修改其属性(即,我从原始加载的表中获取原始值和状态)。 / p>

save: function() {
    var self = this;
    var data = JSON.stringify(this.dataTable.rowData());
    var url = this.urls.saveScreen;
    var ajaxOptions = { url: url, data: data, contentType: "application/json", type: "POST"};
}

是否可以使用不同的调用“this.dataTable.rowData()”,我可以用来接收:

a。)仅修改了行

b。)包含对表格加载后用户所做输入字段的更改的行。

1 个答案:

答案 0 :(得分:0)

您可以使用隐藏字段。添加一个隐藏的字段,表中的元素已更改..

$('table > *').change(function(){
    $(this).parent().append('<input type="hidden">changed</input>');
});

现在,在检查时,您可以搜索具有值为“已更改”的隐藏输入字段的行

假设它是一张桌子:

$('input:hidden :contains("changed"').each(function(){
    var row=$(this).closest('tr');
    var firstElement=row.find('td:eq("0")').text();
    var secondElement=row.find('td:eq("1")').text();
    // and so on
});

此代码未经测试,但它应该为您提供有关应该如何工作的解决方法..