Как распространить трехмерный массив в таблицу из трех отдельных табличных тегов данных? - PullRequest
1 голос
/ 20 февраля 2020
$('#goback').click(function () {
    window.history.back();
});
var cartitem = [];
var pp, name;
var i = 0,html="";
function adcart(name, value) {
    i++;
    name = name;
    pp = value;
    var t = parseInt(i * pp);
    console.log(t);
    cartitem.push([name, value]);
    console.log(cartitem);
}
$("button").click(function () {
    console.log("selected items" + i);
    console.log(cartitem.length);
    for (var m = 0; m < cartitem.length; m++) {
        for (var n = 0; n < cartitem.length; n++) {
            html +='<tr><td>'+cartitem[m]+'</td><td>'+cartitem[n]+'</td></tr>';
        }
    }
    $("#showcart").html(html);
});

Как распространить двумерный массив в таблицу из двух отдельных табличных тегов данных? здесь, в html, у меня есть только табличный тег с телом таблицы, поскольку его идентификатором является «showcart». Что касается приведенного выше сценария, как распространить массив javascript 2d в тег html, чтобы cartitem [i] был в одном теге td, а cartitem [j] - в другом теге td

1 Ответ

0 голосов
/ 21 февраля 2020

Здесь было несколько проблем js,

  1. Вы добавляете товар в корзину с помощью adcart(), и вы также вызываете button событие нажатия, в этом нет необходимости.
  2. Вы объявили переменную html и добавили в нее элементы, вам нужно очистить эту переменную перед значением для l oop, или там нет необходимости в дополнительной переменной, удалить ее и использовать переменную внутри для l oop, так что вы можете сэкономить память.

Пожалуйста, проверьте обновленный фрагмент.

$('#goback').click(function() {
  window.history.back();
});
var cartitem = [];
var pp, name;
var i = 0,
  html = "";

function adcart(name, value) {
  let image = event.target.parentElement.parentElement.firstElementChild.getAttribute('src');
  i++;
  name = name;
  pp = value;
  var t = parseInt(i * pp);
  var newItem = {
    name,
    value,
    image
  }
  cartitem.push(newItem);
  showCartItems(newItem)
}

function showCartItems(item) {
  html = '';
  html += "<tr>";
  html += `<td>${item.name}</td>`;
  html += `<td>${item.value}</td>`;
  html += `<td><img src='${item.image}' height='50px' width='50px' /></td>`;
  html += "</tr>";
  $("#showcart").append(html);
}
image
...