我正在尝试更新每一行数据表内部的输入字段,但是首先我从一个单元格中获取一个值并将其发送给ajax以获取一个值,然后使用该值更新输入字段。
主要问题是rows()。every()的执行速度比ajax快,并且只有一行被更新。
这是我正在使用的代码:
updatePrices(0.95);
function updatePrices(freight){
table.rows().every(function () {
var sk = table.cell(this,2).data(); // HERE I GET THE VALUE OF DATTABLES TO SEARCH THE PRODUCT AND ITS PRICE.
var dataString = 'sku='+ sk;
$.ajax({
type: "POST",
url: "searchProductBySku.php",
data: dataString,
dataType: 'json',
cache: false,
success: function(data){
newprice = parseFloat(data[9])+parseFloat(freight);// RETURN NEW PRICE AND SUM THE FREIGHT COST
table.cell(this,9).nodes().to$().find('input').val(parseFloat(newprice).toFixed(2)); // AND CELL WITH INPUT IS UPDATED
}
});
});
alert('Prices were updated, please check them before send this order.');
}