Как получить индексы из JSON и поместить их в таблицу HTML? - PullRequest
0 голосов
/ 12 января 2019

У меня следующий вопрос:

У меня есть JS-код для извлечения JSON, который доступен по некоторым URL-адресам, и рисования таблицы. JSON выглядит так:

[{"price":12437,
  "quantity":4,
  "name":"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0431\u043b\u043e\u043a"},
 {"price":17043,
  "quantity":6,
  "name":"\u0412\u043e\u0434\u0430 \u0431\u0443\u0442\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f"},         
 {"price":10594,
  "quantity":4,
  "name":"\u0428\u043a\u0430\u0444 \u043a\u043d\u0438\u0436\u043d\u044b\u0439"},
 {"price":17965,
  "quantity":7,
  "name":"\u0427\u0430\u0439\u043d\u0438\u043a \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439"},
 {"price":14280,
  "quantity":5,
  "name":"\u041b\u0430\u0437\u0435\u0440\u043d\u044b\u0439 \u043f\u0440\u0438\u043d\u0442\u0435\u0440"}]

Код здесь: https://jsfiddle.net/3p5ge0h9/. Мне нужно получить индексы каждого объекта в JSON и поместить их в таблицу HTML (в столбец с именем «ID»). Как это сделать? Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Я решил эту проблему, как 20 лет:

 drawTable(data);
        function drawTable(data) {
            for (let i = 0; i < data.length; i++) {
                drawRow(i+1, data[i]);
            }
        }

        function drawRow(index, rowData) {
            let row = $("<tr class='table-data' />"),
                productSum = rowData.quantity * rowData.price;
            $(".products_table tbody").append(row);
            row.append($("<td>" + index + "</td>"));
            row.append($("<td>" + rowData.name + "</td>"));
            row.append($("<td>" + rowData.quantity + "</td>"));
            row.append($("<td>" + rowData.price + "</td>"));
            row.append($("<td>" + productSum + "</td>"));
        }

Вы можете увидеть полную таблицу здесь: https://sashajarvi.github.io/products-table-json/table.html

0 голосов
/ 12 января 2019

попробуйте использовать for:

for (var i = 0; i < your_array.length; i++){
    // log each from your array
    // where 'i' is the index that you try to find
    console.log(your_array[i]);

  }
}

или взгляните на скрипку , где я добавляю index во все ваши функции

здесь:

    function drawTable(data) {
        for (let i = 0; i < data.length; i++) {
            drawRow(i, data[i]);
        }
    }

и здесь:

        function drawRow(index, rowData) {
            let row = $("<tr class='table-data' />"),
                productSum = rowData.quantity * rowData.price;
            $(".products_table tbody").append(row);
            row.append($("<td>" + index + "</td>"));
            row.append($("<td>" + rowData.name + "</td>"));
            row.append($("<td>" + rowData.quantity + "</td>"));
            row.append($("<td>" + rowData.price + "</td>"));
            row.append($("<td>" + productSum + "</td>"));
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...