bobo_bobkata

Untitled

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