Todorov_Stanimir

08. Furniture Exercise: DOM

Oct 8th, 2019
224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.   let [generateButton, buyButton] = document.getElementsByTagName('button');
  3.  
  4.   generateButton.addEventListener('click', () => {
  5.     let furnitures = JSON.parse(document.querySelector('textarea').value);
  6.     document.querySelector('tbody').querySelector('input').disabled = false;
  7.     for (let furniture of furnitures) {
  8.       let newRow = document.createElement('tr');
  9.       newRow.innerHTML = `<td><img src="${furniture.img}"></td><td><p>${furniture.name}</p></td><td><p>${furniture.price}</p></td><td><p>${furniture.decFactor}</p></td><td><input type="checkbox" /></td>`
  10.       document.querySelector('tbody').appendChild(newRow)
  11.     }
  12.   });
  13.  
  14.   buyButton.addEventListener('click', () => {
  15.     let totalPrice = 0;
  16.     let totalDecFactor = 0;
  17.     boughtFurnitures = [];
  18.     let selectedFurnitures = document.querySelector('tbody').getElementsByTagName('tr');
  19.     for (let furniture of selectedFurnitures) {
  20.       if (furniture.querySelector('input').checked === true) {
  21.         boughtFurnitures.push(furniture.getElementsByTagName('td')[1].textContent);
  22.         totalPrice += Number(furniture.getElementsByTagName('td')[2].textContent);
  23.         totalDecFactor += Number(furniture.getElementsByTagName('td')[3].textContent);
  24.       }
  25.     }
  26.     let averageDecFactor = totalDecFactor / boughtFurnitures.length;
  27.     document.getElementsByTagName('textarea')[1].value = `Bought furniture: ${boughtFurnitures.join(', ')}\nTotal price: ${totalPrice.toFixed(2)}\nAverage decoration factor: ${averageDecFactor}`;
  28.   });
  29. }
Advertisement
Add Comment
Please, Sign In to add comment