Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let generateBtn = document.querySelector("#exercise > button:nth-child(3)").addEventListener('click', function (e){
- let txtArea = document.querySelector("#exercise > textarea:nth-child(2)").value;
- let obj = JSON.parse(txtArea);
- let table = document.querySelector(".table");
- for (let item of obj) {
- let rowsCount = table.rows.length;
- row = table.insertRow(rowsCount);
- let cell = row.insertCell(0);
- cell.innerHTML ='<img src='+item.img+'>';
- let cell2 = row.insertCell(1);
- cell2.innerHTML = '<p>'+item.name+'</p>';
- let cell3 = row.insertCell(2);
- cell3.innerHTML = '<p>'+item.price+'</p>';
- let cell4 = row.insertCell(3);
- cell4.innerHTML = '<p>'+item.decFactor+'</p>';
- let cell5 = row.insertCell(4);
- cell5.innerHTML = '<input type ="checkbox">';
- }
- })
- let resultArea = document.querySelector("#exercise > textarea:nth-child(5)");
- let buyBtn = document.querySelector("#exercise > button:nth-child(6)").addEventListener('click', function(){
- function getCheckedValues() {
- return Array.from(document.querySelectorAll('input[type="checkbox"]'))
- .filter((checkbox) => checkbox.checked)
- .map((checkbox) => checkbox.parentElement.parentElement);
- }
- let bougthFurniture = [];
- let price =[];
- let decFactor = [];
- for(let i = 0; i < getCheckedValues().length; i++){
- bougthFurniture.push(getCheckedValues()[i].children[1].children[0].innerHTML);
- price.push(getCheckedValues()[i].children[2].children[0].innerHTML);
- decFactor.push(getCheckedValues()[i].children[3].children[0].innerHTML);
- }
- let totalPrice = 0;
- let averageDecFactor = 0;
- if(price.length > 1){
- totalPrice = price.reduce((acc,curr) => +acc + +curr).toFixed(2);
- averageDecFactor = (decFactor.reduce((acc,curr) => +acc + +curr)/decFactor.length);
- }else{
- totalPrice = price;
- averageDecFactor = decFactor;
- }
- console.log(price);
- resultArea.value += `Bought furniture: ${bougthFurniture.join(', ')}`;
- resultArea.value += `\nTotal price: ${totalPrice}`;
- resultArea.value += `\nAverage decoration factor: ${averageDecFactor}`;
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement