Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let furnitureList;
- let listOfOrderedProducts = [];
- let totalPrice = 0;
- let decFactor = 0;
- let countOfOrdered = 0;
- document.getElementsByTagName('button')[0].addEventListener('click', () => {
- furnitureList = JSON.parse(document.getElementsByTagName('textarea')[0].value);
- let table = document.getElementsByClassName('table')[0];
- for (let furniture of furnitureList) {
- let row = table.insertRow();
- let cell = row.insertCell();
- let img = document.createElement('img');
- img.setAttribute('src', furniture.img);
- cell.appendChild(img);
- cell = row.insertCell();
- let name = document.createElement('p');
- name.innerHTML = furniture.name;
- cell.appendChild(name);
- cell = row.insertCell();
- let price = document.createElement('p');
- price.innerHTML = Number(furniture.price);
- cell.appendChild(price);
- cell = row.insertCell();
- let decFactor = document.createElement('p');
- decFactor.innerHTML = Number(furniture.decFactor);
- cell.appendChild(decFactor);
- cell = row.insertCell();
- let checkBox = document.createElement('input');
- checkBox.setAttribute('type', 'checkbox');
- checkBox.disabled = true;
- cell.appendChild(checkBox);
- cell = row.insertCell();
- }
- for (let input of document.getElementsByTagName('input')) {
- input.disabled = false;
- input.addEventListener('change', function () {
- if (this.checked) {
- let nodeOfInput = input.parentNode;
- let nodeOfProduct = nodeOfInput.parentNode;
- let infoForProducts = nodeOfProduct.getElementsByTagName('td');
- let nameOfCheckedProduct = (infoForProducts[1].textContent).trim();
- let priceOfCheckedProduct = Number(infoForProducts[2].textContent);
- let decFactorOfCheckedProduct = Number(infoForProducts[3].textContent);
- listOfOrderedProducts.push(nameOfCheckedProduct);
- totalPrice += priceOfCheckedProduct;
- decFactor += decFactorOfCheckedProduct;
- countOfOrdered++;
- } else {
- let nodeOfInput = input.parentNode;
- let nodeOfProduct = nodeOfInput.parentNode;
- let infoForProducts = nodeOfProduct.getElementsByTagName('td');
- let nameOfUNCheckedProduct = (infoForProducts[1].textContent).trim();
- let priceOfUNCheckedProduct = Number(infoForProducts[2].textContent);
- let decFactorOfUNCheckedProduct = Number(infoForProducts[3].textContent);
- let indexOfUNChecked = listOfOrderedProducts.indexOf(nameOfUNCheckedProduct);
- listOfOrderedProducts.splice(indexOfUNChecked, 1);
- totalPrice -= priceOfUNCheckedProduct;
- decFactor -= decFactorOfUNCheckedProduct;
- countOfOrdered--;
- }
- }
- )
- };
- document.getElementsByTagName('button')[1].addEventListener('click', () => {
- let textArea = document.getElementsByTagName('textarea')[1];
- let productListPrintLine = `Bought furniture: ${listOfOrderedProducts.join(", ")}\n`;
- let pricePrintLine = `Total price: ${totalPrice.toFixed(2)}\n`;
- let decFactorPrintLine = `Average decoration factor: ${(decFactor / countOfOrdered).toFixed(1)}`;
- textArea.value = productListPrintLine + pricePrintLine + decFactorPrintLine;
- })
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement