Как мне добавлять объект в массив каждый раз, когда я запускаю функцию? - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь создать систему, в которой каждый раз, когда вы вводите новые данные и нажимаете «добавить», она создает объект и добавляет этот объект в массив. Но я не уверен, как добавить новый объект в массив. Также я не уверен, почему моего кода нет в желтом поле.


var products = [];



class Product {

    constructor(productname, cost, quantity){
        this.productname = productname;
        this.cost = cost;
        this.quantity = quantity;
    }

}


function addProduct(){

    var productname = document.getElementById('productName').value;
    var cost = document.getElementById('cost').value;
    var quantity = document.getElementById('quantity').value;

    tbody += '<tr><td>' + productname + '</td><td>' + cost + '</td><td>' + quantity + '</td><td>' + test + '</td><tr>';

      document.getElementById('tablebody').innerHTML = tbody;

      product();

//adding product to array

 function product(){

        products = new Product(productname, cost, quantity);
}
}

'''

1 Ответ

1 голос
/ 06 мая 2020

Вы перезаписываете products при вызове product - используйте push - также передайте переменные в product, иначе вы получите сообщение об ошибке:

    product(productname, cost, quantity);

}

function product(productname, cost, quantity) {
    products.push(new Product(productname, cost, quantity));
}

Также закройте ваша функция addProducts с фигурной скобкой:

    document.getElementById('tablebody').innerHTML = tbody;

    product();

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