我渲染一个包含两列的页面,其中一列有输入字段,另一列有复选框。 假设我修改了其中一个输入字段中的条目,并取消选中另一行中的复选框。
现在,当我单击“保存”按钮并调用下面的代码时,我会收到所有屏幕行,而不会使用新值修改其属性(即,我从原始加载的表中获取原始值和状态)。 / 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。)包含对表格加载后用户所做输入字段的更改的行。
答案 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
});
此代码未经测试,但它应该为您提供有关应该如何工作的解决方法..