Проблема с таблицей jQuery при зацикливании

Я хочу создать одну таблицу, но есть два цикла, так как есть два массива, которые необходимо включить в таблицу.

Вот два массива (из консоли):

Объект {квота: (5) […], productName: (5) […]}

В квоте есть числа, относящиеся к каждому из productName.

Вот часть кода для этой таблицы.

jQuery.ajax({
    type: "POST",
    url: "http://ayambrand-com-my-v1.cloudaccess.host/index.php?option=com_echarity&format=raw&task=api.get_product_name",
    data: {dataArrayPost : Data},
    success: function(data){
        var a = JSON.parse(data);
        console.info(a);
        var prodName = a.productName; 
        var splitProductName = "";
        var prodQty = a.quota; 
        var splitProductQuota = "";
        var contents = '<table id = "tableDonateDisplay" class = "table table-hover">';
        contents += "<tr>";
        contents += '<th>' + 'Product' + '</th>' + '<th>' + 'Quantity Need' + '</th>' + '<th>' + 'Price Each' + '</th>' + '<th>' + 'My Donation' + '</th>' + '<th>' + 'Amount' + '</th>';
        jQuery.each(prodName, function(index, value) {
            splitProductName = value;
            contents += "<tr>";
            contents += '<td>' + splitProductName;
        });
        jQuery.each(prodQty, function(index, value) {
            splitProductQuota = value;
            contents += '</td><td>' + splitProductQuota + '</td>' + '<td>' + '' + '</td>' + '<td>' + '' + '</td>' + '<td>' + '' + '</td>';
            contents += "</tr>";
        });
        contents += "</tr></table>";
        jQuery('#contentNeed').append(contents);
    }
});

Стол стал таким. Как я могу сделать эту квоту рядом с названием продукта?

Данные JSON:

Проблема с таблицей jQuery при зацикливании

Осмотрите стол в консоли, он неправильно структурирован. tr не закрывается.

Sachi Tekina 17.04.2018 10:58

Вставив <tr> в первый цикл (splitProductName), он сделает второй цикл (splitProductQuota) для необходимого количества ниже названия продукта. Вопрос в том, как я могу сделать так, чтобы количество, которое нужно, помещалось в одну строку с названием продукта, потому что они связаны друг с другом.

Mohd Shafiq 17.04.2018 11:08

не могли бы вы опубликовать свои данные json. я решу вашу проблему.

kalai 17.04.2018 11:15

Загрузили данные JSON @kalai

Mohd Shafiq 17.04.2018 11:27

это формат json. var a = {productName: ["a", "b", "c", "d"], quota: [1, 5, 10, 20]};

kalai 17.04.2018 11:32

не могли бы вы опубликовать в строковом формате @MohdShafiq

kalai 17.04.2018 11:34
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
6
49
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сначала вам нужно закрыть тег trth, затем проверить индекс обеих итераций:

var a = {
  productName: ["a", "b", "c", "d"],
  quota: [1, 5, 10, 20]
};
console.info(a);
var prodName = a.productName;
var splitProductName = "";
var prodQty = a.quota;
var splitProductQuota = "";
var contents = '<table id = "tableDonateDisplay" class = "table table-hover" border = "1">';
contents += "<tr>";
contents += '<th>' + 'Product' + '</th>' + '<th>' + 'Quantity Need' + '</th>' + '<th>' + 'Price Each' + '</th>' + '<th>' + 'My Donation' + '</th>' + '<th>' + 'Amount' + '</th>';
contents += "</tr>";

jQuery.each(prodName, function(index1, value1) {
  splitProductName = value1;
  contents += "<tr>";
  contents += '<td>' + splitProductName;
  jQuery.each(prodQty, function(index, value) {
    if (index1 == index) {
      splitProductQuota = value;
      contents += '</td><td>' + splitProductQuota + '</td>' + '<td>' + '' + '</td>' + '<td>' + '' + '</td>' + '<td>' + '' + '</td>';
      contents += "</tr>";
    }

  });
});

contents += "</tr></table>";
jQuery('#contentNeed').append(contents);
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "contentNeed">

</div>

Я создал фиктивный объект JSON.

Другие вопросы по теме