Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- // capture elements
- let textAreas = document.querySelectorAll('textarea');
- let buttons = document.querySelectorAll('button');
- let inputTxtArea = textAreas[0];
- let outputTxtArea = textAreas[1];
- //create buttons
- let generateBtn = buttons[0];
- let buyBtn = buttons[1];
- // adding events with handlers
- generateBtn.addEventListener('click', generateFunc)
- buyBtn.addEventListener('click', buyBtnFunc);
- // event handlers
- function generateFunc(){
- // getting what I need
- let inputValue = JSON.parse(inputTxtArea.value); // това е обект а не елемент от обекта
- // Това няма как да работи така , трябва да мине през цикъл, защото може да имаш повече от 1 обект за input
- inputValue.forEach(element=>{
- let image = element.img;
- let name = element.name;
- let price = Number(element.price);
- let decFac = Number(element.decFactor);
- //creating 1 table row tag
- let tr = document.createElement('tr');
- let td1 = document.createElement('td');
- let tdImg2 = document.createElement('img')
- tdImg2.src = image
- // в твоето решение никъде не закачаш img към td1 и него към tr който си създал
- td1.appendChild(tdImg2);
- tr.appendChild(td1);
- // в решението ти си закачил параграф към td2 който не си направил още
- let td2 = document.createElement('td');
- let tdParagraph1 = document.createElement('p');
- tdParagraph1.textContent = name;
- td2.appendChild(tdParagraph1);
- tr.appendChild(td2);
- let td3 = document.createElement('td')
- let priceParag = document.createElement('p');
- priceParag.textContent = price;
- td3.appendChild(priceParag);
- tr.appendChild(td3);
- let td4 = document.createElement('td');
- let decFacParag = document.createElement('p');
- decFacParag.textContent = decFac;
- td4.appendChild(decFacParag);
- tr.appendChild(td4);
- let td5 = document.createElement('td');
- let checkBox = document.createElement('input');
- checkBox.type = 'checkbox'
- td5.appendChild(checkBox);
- tr.appendChild(td5);
- let body = document.querySelector('tbody')
- body.appendChild(tr)
- })
- // // creating table body tag
- //
- // //creating the elements I need and inserting them into my new created td.
- //
- // //paragraph content
- //
- // td2.appendChild(tdParagraph);
- // tdParagraph.textContent = name;
- // tr.appendChild(td2)
- // //image url
- //
- //
- // tdImg2.src = image;
- // console.log(tdImg2);
- // td1.appendChild(tdImg2)
- // tr.appendChild(td1)
- // let td2 = document.createElement('td')
- // //price paragraph
- //
- // priceParag.textContent = price;
- // td3.appendChild(priceParag);
- // tr.appendChild(td3);
- // let td4 = document.createElement('td')
- // // decFac paragraph
- //
- // decFacParag.textContent = decFac;
- // td4.appendChild(decFacParag)
- // tr.appendChild(td4)
- //
- // // creating checkBox
- //
- //
- //
- //
- // }
- // function buyBtnFunc(){
- //
- //
- // })
- // let totalPrice = priceArr.reduce((acc, currentValue) => acc + currentValue,0);
- // let decFacTotal = decFacArr.reduce((acc, currentValue) => acc + currentValue,0);
- // let avgDecFac = decFacTotal / decFacArr.length
- // outputTxtArea.textContent = `"Bought furniture: ${namesArr.join(', ')}\nTotal price: ${totalPrice.toFixed(2)}\nAverage decoration factor:
- // ${avgDecFac}`
- }
- function buyBtnFunc(e){
- let checkboxList = document.querySelectorAll('input[type="checkbox"]'); // - така се изписва правилно , а не така 'input[type=checkbox]'
- let checkBoxArr = Array.from(checkboxList);
- let namesArr = [];
- let priceArr = 0;
- let decFacArr = 0; // никакъв смисъл това да е масив за да ползваш просто единн reduce !!!
- checkBoxArr.forEach( x => {
- // let parentX = x.parentNode; -даже незнам какво е parentNode!!!
- // let tr = parentX.parentNode;
- // namesArr.push(tr.childNodes[1].textContent);
- // let price = Number(tr.childNodes[2].textContent);
- // priceArr.push(price);
- // let decFac = Number(tr.childNodes[3].textContent);
- // decFacArr.push(decFac);
- if(x.checked){
- let parentX = x.parentElement.parentElement;
- // console.log(parentX)
- let info = Array.from(parentX.querySelectorAll('p'));
- namesArr.push(info[0].textContent);
- priceArr+= Number(info[1].textContent);
- decFacArr+=Number(info[2].textContent)
- }
- outputTxtArea.textContent = `Bought furniture: ${namesArr.join(', ')}\nTotal price: ${priceArr.toFixed(2)}\nAverage decoration factor: ${(decFacArr / namesArr.length)}`;
- })
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement