Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- input = document.getElementById('exercise').children[1];
- document.getElementById('container').addEventListener('click', onClick);
- function onClick(ev) {
- if (ev.target == document.querySelectorAll('button')[0]) {
- let arr = JSON.parse(input.value)
- for (let i = 0; i < arr.length; i++) {
- let newRow = document.createElement('tr')
- document.getElementsByTagName('tbody')[0].appendChild(newRow);
- let all = document.querySelectorAll('tbody tr');
- let currentRow = all[all.length - 1];
- let newTd;
- for (let j = 0; j < Object.keys(arr[i]).length; j++) {
- newTd = document.createElement('td');
- if (j == 0) {
- let newImg = document.createElement('img');
- newImg.src = arr[i]["img"];
- newTd.appendChild(newImg)
- currentRow.appendChild(newTd);
- } else {
- let newPar = document.createElement('p');
- newPar.textContent = Object.values(arr[i])[j]
- newTd.appendChild(newPar);
- currentRow.appendChild(newTd);
- }
- }
- let newInput = document.createElement('input');
- newInput.type = "checkbox";
- newTd = document.createElement('td');
- newTd.appendChild(newInput);
- currentRow.appendChild(newTd);
- }
- } else if (ev.target == document.querySelectorAll('button')[1]) {
- let furniture = []
- let totalPrice = 0;
- let resultFactor = 0;
- let checkboxes = Array.from(document.querySelectorAll('tbody tr'));
- for (let i = 0; i < checkboxes.length; i++) {
- let currentCheck = checkboxes[i].getElementsByTagName('input')[0];
- if (currentCheck.checked == true) {
- let name = currentCheck.parentNode.parentNode.querySelectorAll('p')[0].textContent;
- let price = currentCheck.parentNode.parentNode.querySelectorAll('p')[1].textContent;
- let factor = currentCheck.parentNode.parentNode.querySelectorAll('p')[2].textContent;
- furniture.push(name);
- totalPrice += Number(price);
- resultFactor += Number(factor);
- }
- }
- document.getElementsByTagName('textarea')[1].value = `Bought furniture: ${furniture.join(', ')}\nTotal price: ${totalPrice.toFixed(2)}\nAverage decoration factor: ${resultFactor / furniture.length}`
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement