Advertisement
Guest User

Untitled

a guest
May 13th, 2019
227
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve() {
  2.  
  3.   let inputField = document.getElementsByTagName('textarea')[0];
  4.  
  5.     let generateButton = document.getElementsByTagName('button')[0];
  6.     generateButton.addEventListener("click", generate);
  7.  
  8.     let buyButton = document.getElementsByTagName('button')[1];
  9.     buyButton.addEventListener("click", buy);
  10.     function generate(e) {
  11.  
  12.         let objects = JSON.parse(inputField.value);
  13.         objects.forEach(obj=> objectGenerator(obj))
  14.  
  15.  
  16.  
  17.  
  18.     }
  19.     function objectGenerator(obj){
  20.         let name =obj.name;
  21.         let img = obj.img;
  22.         let price = obj.price;
  23.         let decFactor = obj.decFactor;
  24.  
  25.         let tbodyElement = document.getElementsByTagName('tbody')[0];
  26.  
  27.         let trElement = document.createElement('tr');
  28.         let imgElementTd = document.createElement('td');
  29.         let imgElement= document.createElement('img');
  30.         imgElement.src=img;
  31.         imgElementTd.innerHTML = `<img src="${img}">`;
  32.  
  33.         tbodyElement.appendChild(trElement);
  34.         trElement.append(imgElementTd);
  35.  
  36.         let nameElementTd = document.createElement('td');
  37.         let nameElementP = document.createElement('p');
  38.  
  39.  
  40.         nameElementP.textContent = name;
  41.         nameElementTd.appendChild(nameElementP);
  42.         trElement.appendChild(nameElementTd);
  43.  
  44.         let priceElementTd = document.createElement('td');
  45.         let priceElementP = document.createElement('p');
  46.  
  47.         priceElementP.textContent = price;
  48.         priceElementTd.appendChild(priceElementP);
  49.         trElement.appendChild(priceElementTd);
  50.  
  51.         let decFactorElement = document.createElement('td');
  52.         let decFactorElementP = document.createElement('p');
  53.  
  54.         decFactorElementP.textContent = decFactor;
  55.         decFactorElement.append(decFactorElementP);
  56.         trElement.appendChild(decFactorElement);
  57.  
  58.         let checkBox = document.createElement('input');
  59.         checkBox.type = 'checkbox';
  60.         let checkBoxTd = document.createElement('td');
  61.         checkBoxTd.innerHTML = '<input type="checkbox">';
  62.         trElement.append(checkBoxTd);
  63.  
  64.     }
  65.  
  66.     function buy(e){
  67.         let boughtFurniture = [];
  68.         let totalPrice =0;
  69.         let avgDecFactor =0;
  70.  
  71.         let allTr = Array.from(document.getElementsByTagName('tr'));
  72.         console.log(allTr[2].children[4].children[0]);
  73.         for (let i = 2; i <allTr.length ; i++) {
  74.             if(allTr[i].children[4].children[0].checked){
  75.                 boughtFurniture.push(allTr[i].children[1].textContent);
  76.                 totalPrice+= +allTr[i].children[2].textContent;
  77.                 avgDecFactor += +allTr[i].children[3].textContent;
  78.  
  79.             }
  80.             console.log(boughtFurniture);
  81.         }
  82.         avgDecFactor = avgDecFactor / (allTr.length-2);
  83.  
  84.         let finalOutput  = document.getElementsByTagName('textarea')[1];
  85.         finalOutput.value = `Bought furniture: ${boughtFurniture.join(', ')}\nTotal price: ${totalPrice.toFixed(2)}\nAverage decoration factor: ${avgDecFactor}`;
  86.     }
  87.  
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement