Advertisement
Guest User

furniture

a guest
May 20th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. function solve() {
  2.  
  3. let generateButton = document.getElementsByTagName('button')[0];
  4. let buyButton = document.getElementsByTagName('button')[1];
  5.  
  6. generateButton.addEventListener('click', generateProduct);
  7. buyButton.addEventListener('click', buyProducts);
  8.  
  9. function generateProduct(){
  10. let textarea = document.querySelector('#container #exercise textarea');
  11. let inputArray = JSON.parse(textarea.value);
  12. let table = document.getElementsByTagName('tbody')[0];
  13.  
  14. for (let product of inputArray) {
  15. let productName = product['name'];
  16. let productImage = product['img'];
  17. let productPrice = Number(product['price']);
  18. let productDecFactor = Number(product['decFactor']);
  19.  
  20. let tableRow = document.createElement('tr');
  21.  
  22. let tdOne = document.createElement('td');
  23. let image = document.createElement('img');
  24. image.setAttribute('src', productImage);
  25. tdOne.appendChild(image);
  26. tableRow.appendChild(tdOne);
  27.  
  28. generateTd(productName, tableRow);
  29. generateTd(productPrice, tableRow);
  30. generateTd(productDecFactor, tableRow);
  31.  
  32. let tdFive = document.createElement('td');
  33. let markField = document.createElement('input');
  34. markField.setAttribute('type', 'checkbox');
  35. tdFive.appendChild(markField);
  36. tableRow.appendChild(tdFive);
  37.  
  38. table.appendChild(tableRow);
  39. }
  40. }
  41.  
  42. function generateTd(text, tableRow){
  43. let td = document.createElement('td');
  44. let p = document.createElement('p');
  45. p.textContent = text;
  46. td.appendChild(p);
  47. tableRow.appendChild(td);
  48. }
  49.  
  50.  
  51. function buyProducts(){
  52. let boughtProducts = [];
  53. let totalPrice = 0;
  54. let sumDecFactor = 0;
  55. let checkedProducts = 0;
  56.  
  57. let products = document.getElementsByTagName('input');
  58.  
  59. for (let i = 0; i < products.length; i++) {
  60. if(products[i].checked === true){
  61. checkedProducts++;
  62.  
  63. let currentRow = products[i].parentNode.parentNode;
  64. let currentPrice = currentRow.children[2].children[0].textContent;
  65. totalPrice += Number(currentPrice);
  66.  
  67. let currentDecFactor = currentRow.children[3].children[0].textContent;
  68. sumDecFactor += Number(currentDecFactor);
  69.  
  70. let currentProductName = currentRow.children[1].children[0].textContent;
  71. boughtProducts.push(currentProductName);
  72. }
  73. }
  74.  
  75. let avgDecFactor = sumDecFactor/checkedProducts;
  76.  
  77. let outPutTextArea = document.getElementsByTagName('textarea')[1];
  78. outPutTextArea.value +=`Bought furniture: ${boughtProducts.join(', ')}\n`;
  79. outPutTextArea.value += `Total price: ${totalPrice.toFixed(2)}\n`;
  80. outPutTextArea.value += `Average decoration factor: ${avgDecFactor}`;
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement