JavaScript foreach оператор для добавления целых записей - PullRequest
0 голосов
/ 26 октября 2019

У меня следующий код JavaScript, который использовался для добавления всех записей в таблицу MySQL.

$('#request_table').append('<tr>' +
  '<td ><span id="product" >' + jData.data[0].item_name + '</span>' +
  '<input type="hidden" id="item_id[]" name="item_id[]" value="' + jData.data[0].item_id 
  + '">' +
  '</td>' +
  '<td class="text-center">' + jData.data[0].qty + '</td>' +
  '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + jData.data[0].qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +
  '<td class="text-center"><input class="form-control text-right" autofocus required type="number" step="any" id="sales_price[]" name="sales_price[]" value="' + jData.data[0].unit_price + '"></td>' +
  '<td class="text-center"><input class="form-control text-right" autofocus type="number" step="any" id="discount_price[]" name="discount_price[]" ></td>' +
  '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i> 
   </td>' +
'</tr>');

Но указанная выше функция добавляет только первую запись в таблицу. Как изменить код с помощью оператора foreach, чтобы добавить все записи. Я использовал платформу Codeigniter.

Кто-нибудь может мне помочь?

Ответы [ 2 ]

2 голосов
/ 26 октября 2019

Вы можете использовать forEach так:

jData.data.forEach(data => {
  $('#request_table').append('<tr>' +
    '<td ><span id="product" >' + data.item_name + '</span>' +
    '<input type="hidden" id="item_id[]" name="item_id[]" value="' + data.item_id 
    + '">' +
    '</td>' +
    '<td class="text-center">' + data.qty + '</td>' +
    '<td class="text-center"><input class="form-control text-center rquantity" data-qty-bal="' + data.qty + '" autofocus required type="number" step="any" id="qty[]" name="qty[]" ></td>' +
    '<td class="text-center"><input class="form-control text-right" autofocus required type="number" step="any" id="sales_price[]" name="sales_price[]" value="' + data.unit_price + '"></td>' +
    '<td class="text-center"><input class="form-control text-right" autofocus type="number" step="any" id="discount_price[]" name="discount_price[]" ></td>' +
    '<td class="text-center" ><i class="fa fa-remove remove" style="cursor: pointer"></i> 
     </td>' +
  '</tr>');
})
0 голосов
/ 26 октября 2019

Вы обращаетесь только к jData.data [0]. * (Только первый элемент индекса)

вам нужна итерация, например: на основе индекса i и затем доступ по

 jData.data[i].qty ,
 jData.data[i].unit_price,
 ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...