Datatables row (). Every () с запросом ajax внутри - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь обновить поля ввода внутри datatable в каждой строке, но сначала я беру значение из ячейки и отправляю его в ajax для получения значения, а затем обновляю поле ввода de этим значением.

основная проблема заключается в том, что row (). 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.');

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...