Jquery Datatables可编辑表中的返回值是所有已编辑项的最新编辑
我使用的是Datatables,我可以将更新的数据发布到数据库中,但是在第一次编辑之后,返回到表的回显将显示最近的编辑。例如,我进行了编辑,它在字段中显示了新值+“服务器已更新”。我对同一列(不同的行)中的另一个字段进行了编辑,表中显示了新值+“服务器已更新”,但初始行也显示了最近的值。数据库是正确的,因此在返回时处理值的方式存在问题 这是密码。关于为什么所有更新的字段都显示最新的更新,您有什么想法吗Jquery Datatables可编辑表中的返回值是所有已编辑项的最新编辑,jquery,datatables,Jquery,Datatables,我使用的是Datatables,我可以将更新的数据发布到数据库中,但是在第一次编辑之后,返回到表的回显将显示最近的编辑。例如,我进行了编辑,它在字段中显示了新值+“服务器已更新”。我对同一列(不同的行)中的另一个字段进行了编辑,表中显示了新值+“服务器已更新”,但初始行也显示了最近的值。数据库是正确的,因此在返回时处理值的方式存在问题 这是密码。关于为什么所有更新的字段都显示最新的更新,您有什么想法吗 var oTable = [];
var oTable = [];
$('.myTable').each(function() {
// var tid = $(this).attr('id');
//alert(tid);
var obj = {};
obj=$('#'+$(this).attr('id')).dataTable({
bFilter: false,
sPaginationType: 'full_numbers',
bSort: true
aoColumns: [
{bSortable: false},
{bSortable: false},
null,
null,
null,
null,
null,
null,
null,
{
data: " {'E':'Letter E','F':'Letter F','G':'Letter G', 'selected':'F'}",
type: 'select',
submit: 'ok'
},
null
]
});
oTable.push(obj);
});
$('[id^="rnote"]').on('click',
function() {
var tid = $(this).attr('id');
var tabnum = tid.slice(5,6);
var ind = tabnum-1;
var aPos = oTable[ind].fnGetPosition(this);
var selrow = oTable[ind].fnGetData(aPos[0]);
var stnum = selrow[0]; //store
var supnum = selrow[2]; //supplier number
var invnum = selrow[4]; //invoice number
var row = aPos[0];
$('.editable',oTable[ind].fnGetNodes()).editable('edit_errorcode.php', {
callback: function(sValue, y) {
oTable[ind].fnUpdate(sValue, aPos[0], aPos[1]);
},
submitdata: function(value, settings) {
return {
column: oTable[ind].fnGetPosition(this)[2],
stnum: stnum,
supnum: supnum,
invnum: invnum
};
},
submit: 'Save',
placeholder: ''
});
});
我解决了这个问题。问题是回调上的aPos(位置)值。没有使用新更新的行更新它们。我在回调中重置了aPos变量,以确保它使用了正确的位置,这解决了问题:
$('.editable',oTable[ind].fnGetNodes()).editable('edit_errorcode.php', {
callback: function(sValue, y) {
aPos = oTable[ind].fnGetPosition(this); //added this line
oTable[ind].fnUpdate(sValue, aPos[0], aPos[1]);
},