Advertisement
Guest User

Untitled

a guest
Apr 11th, 2020
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. function solve() {
  2. let buttons = document.getElementsByTagName('button');
  3. let generateBtn = buttons[0];
  4. let textAreas = document.getElementsByTagName('textarea');
  5. let namesOfFurnitures = [];
  6. let totalPrice = 0;
  7. let totalDecorations = 0;
  8. let counter = 0;
  9.  
  10. generateBtn.addEventListener('click', () => {
  11. let inputOfFurnitures = textAreas[0].value;
  12. inputOfFurnitures = JSON.parse(inputOfFurnitures);
  13.  
  14. for (let i = 0; i < inputOfFurnitures.length; i++) {
  15. fillUpTableWithFurnitures(inputOfFurnitures[i]);
  16. }
  17. });
  18.  
  19. let buyBtn = buttons[1];
  20.  
  21. buyBtn.addEventListener('click', () => {
  22. let inputs = document.getElementsByTagName('input');
  23. Array.from(inputs);
  24.  
  25.  
  26.  
  27. for (const input of inputs) {
  28. if (input.checked === true) {
  29. let parent = input.parentElement.parentElement.children;
  30. let name = parent[1].innerText.trim();
  31. let price = +parent[2].innerText;
  32. let decorFac = +parent[3].innerText;
  33.  
  34. namesOfFurnitures.push(name);
  35. totalPrice += price;
  36. totalDecorations += decorFac;
  37. counter++;
  38.  
  39. textAreas[1].value = getOutput(namesOfFurnitures,totalPrice,totalDecorations);
  40. }
  41. }
  42. });
  43.  
  44. function fillUpTableWithFurnitures(furniture) {
  45. let tbody = document.getElementsByTagName('tbody')[0];
  46. let row = tbody.insertRow(-1);
  47.  
  48. let img = document.createElement('img');
  49. img.src = furniture.img;
  50.  
  51. let input = document.createElement('input');
  52. input.setAttribute('type', 'checkbox');
  53.  
  54. row.insertCell(0).appendChild(img);
  55. let p1 = document.createElement('p');
  56. let p2 = document.createElement('p');
  57. let p3 = document.createElement('p');
  58. row.insertCell(1).appendChild(p1).innerHTML = furniture.name;
  59. row.insertCell(2).appendChild(p2).innerHTML = furniture.price;
  60. row.insertCell(3).appendChild(p3).innerHTML = furniture.decFactor;
  61. row.insertCell(4).append(input);
  62. }
  63.  
  64. function getOutput(namesOfFurnitures,totalPrice,totalDecorations) {
  65. // let sum = selectedFunitures['averageDecFac'].reduce((a, b) => a + b, 0);
  66. let average = (
  67. totalDecorations / counter
  68. ).toFixed(1);
  69.  
  70. return (
  71. `Bought furniture: ${namesOfFurnitures.join(', ')}\n` +
  72. `Total price: ${totalPrice.toFixed(2)}\n` +
  73. `Average decoration factor: ${average}\n`
  74. );
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement