【问题标题】:Retrieve only modified rows in DataTables仅检索 DataTables 中已修改的行
【发布时间】:2013-05-08 19:42:13
【问题描述】:

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

现在,当我单击“保存”按钮并调用以下代码时,我会收到所有屏幕上的行,但没有使用新值修改其属性(即,我从最初加载表格时获取原始值和状态)。

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.) 包含在加载表后用户对输入字段所做的更改的行。

【问题讨论】:

  • 你有解决办法吗?

标签: jquery ajax datatable datatables


【解决方案1】:

您可以为此使用隐藏字段。添加一个隐藏字段,并在表格中更改元素。

$('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
});

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

【讨论】:

  • 好吧,但我使用 DataTables(jQuery 的表格插件)来呈现我的表格。您是否知道该 jquery 扩展中是否有内置逻辑允许我检索修改后的行?
  • 我不知道数据表如何处理修改后的行..但是上面的代码应该可以正常工作..
猜你喜欢
  • 2015-12-30
  • 2013-09-19
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多