1

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

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

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

4

1 回答 1

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
});

这段代码未经测试,但它应该给你一个关于事情应该如何工作的解决方法..

于 2013-05-08T19:56:08.820 回答