Javascript 如何使用jquerydatatables一次将所有网格值提交到服务器?
我希望将所有数据从网格保存到服务器。我正在使用jquerydatatables插件Javascript 如何使用jquerydatatables一次将所有网格值提交到服务器?,javascript,jquery,jquery-plugins,datatables,Javascript,Jquery,Jquery Plugins,Datatables,我希望将所有数据从网格保存到服务器。我正在使用jquerydatatables插件 function fnSave() { var aTrs = oTable.fnGetNodes(); var aReturn = new Array(); for(var i=0;i<aTrs.length;i++) { var aData=oTable.fnGetData(i); aReturn.push( aData ); }
function fnSave() {
var aTrs = oTable.fnGetNodes();
var aReturn = new Array();
for(var i=0;i<aTrs.length;i++) {
var aData=oTable.fnGetData(i);
aReturn.push( aData );
}
console.log(aReturn);
}
函数fnSave(){
var aTrs=oTable.fnGetNodes();
var aReturn=新数组();
对于(var i=0;i存储在JDataTable中的数据不是DOM中当前的数据,而是您最初设置的数据。因此,当您更新输入时,DOM元素会被更新,但没有钩子来更新JDataTable中保存的数据。我将构建类似以下内容的网格:
var grid = new Array();
$("table tr").each(function() {
var nextRow = new Array();
grid.push(nextRow);
$("td", this).each(function() {
var nextValue = $("input", this).val();
nextRow.push(nextValue);
});
});
然后,网格
变量应该存储您的完整数据表。我对您如何在那里构建表做了一些假设,因为它没有发布,但我猜这与您得到的非常接近。通过使用Datatables fGetNodes,以下是解决方案:
function fnSave() {
var aTrs = oTable.fnGetNodes();
var aReturn = new Array();
$(aTrs).each(function() {
var nextRow = new Array();
aReturn.push( nextRow );
$("td", this).each(function() {
var nextValue = $("input", this).val();
nextRow.push(nextValue);
});
});
console.log(aReturn);
}
function fnSave() {
var aTrs = oTable.fnGetNodes();
var aReturn = new Array();
$(aTrs).each(function() {
var nextRow = new Array();
aReturn.push( nextRow );
$("td", this).each(function() {
var nextValue = $("input", this).val();
nextRow.push(nextValue);
});
});
console.log(aReturn);
}