Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let generateButton = document.getElementsByTagName('button')[0];
- let tableElement = document.getElementsByTagName('tbody')[0];
- generateButton.addEventListener('click', (e) => {
- let textareaTextArr = e.target.previousElementSibling.value;
- textareaTextArr = JSON.parse(textareaTextArr);
- for (let textareaText of textareaTextArr) {
- let newRow = document.createElement('tr');
- let newTd = document.createElement('td');
- let imgElement = document.createElement('img');
- let paragraphElement = document.createElement('p');
- let inputElement = document.createElement('input');
- imgElement.src = textareaText.img;
- newTd.appendChild(imgElement);
- newRow.appendChild(newTd);
- tableElement.appendChild(newRow);
- newTd = document.createElement('td');
- paragraphElement.textContent = textareaText.name;
- newTd.appendChild(paragraphElement);
- newRow.appendChild(newTd);
- tableElement.appendChild(newRow);
- newTd = document.createElement('td');
- paragraphElement = document.createElement('p');
- paragraphElement.textContent = textareaText.price;
- newTd.appendChild(paragraphElement);
- newRow.appendChild(newTd);
- tableElement.appendChild(newRow);
- newTd = document.createElement('td');
- paragraphElement = document.createElement('p');
- paragraphElement.textContent = textareaText.decFactor;
- newTd.appendChild(paragraphElement);
- newRow.appendChild(newTd);
- tableElement.appendChild(newRow);
- newTd = document.createElement('td');
- inputElement.type = 'checkbox';
- newTd.appendChild(inputElement);
- newRow.appendChild(newTd);
- tableElement.appendChild(newRow);
- }
- });
- let buyButtonElement = document.getElementsByTagName('button')[1];
- buyButtonElement.addEventListener('click', (e) => {
- let inputElements = document.querySelectorAll('input[type=checkbox]');
- inputElements = Array.from(inputElements);
- console.log(inputElements);
- let arrOfNames = [];
- let totalPrice = 0;
- let avgDecFactor = 0;
- inputElements.forEach(el => {
- let checkedOrNot = el.checked;
- if (checkedOrNot) {
- let curTdArr = el.parentElement.parentElement.querySelectorAll('td');
- curTdArr = Array.from(curTdArr);
- console.log(curTdArr);
- let name = curTdArr[1].textContent;
- let price = Number(curTdArr[2].textContent);
- let decFactor = Number(curTdArr[3].textContent);
- arrOfNames.push(name);
- totalPrice += price;
- avgDecFactor += decFactor;
- }
- });
- avgDecFactor = avgDecFactor / arrOfNames.length;
- totalPrice = totalPrice.toFixed(2);
- let textareaBuyButton = e.target.previousElementSibling;
- textareaBuyButton.textContent = `Bought furniture: ${arrOfNames.join(', ')}\nTotal price: ${totalPrice}\nAverage decoration factor: ${avgDecFactor}`;
- console.log(textareaBuyButton);
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement