Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let totalPrice = 0;
- let inputs = document.querySelectorAll('input');
- let model = inputs[0];
- let year = inputs[1];
- let price = inputs[2];
- let description = document.querySelector('textarea');
- let btnAdd = document.querySelector('button');
- btnAdd.addEventListener('click', onAdd);
- function onAdd(ev) {
- ev.preventDefault();
- if (model.value == "" || description.value == "" || year.value < 0 || price.value < 0) {
- return;
- }
- const total = document.querySelector('.total-price');
- let prc = parseFloat(price.value).toFixed(2);
- let list = document.querySelector('tbody');
- const tr = creatElement('tr', undefined, 'info');
- const tdModel = creatElement('td', `${model.value}`);
- const tdPrice = creatElement('td', prc)
- const tdBtns = creatElement('td');
- const btnMore = creatElement('button', 'More Info', 'moreBtn');
- const btnBuy = creatElement('button', 'Buy it', 'buyBtn');
- btnMore.addEventListener('click', () => {
- if (btnMore.textContent == 'More Info') {
- btnMore.textContent = 'Less Info'
- trHide.style.display = 'contents'
- } else {
- btnMore.textContent = 'More Info'
- trHide.style.display = 'none'
- }
- });
- btnBuy.addEventListener('click', (ev) => {
- let curr = ev.target.parentNode.parentNode;
- let priceCurrent = Number(curr.querySelectorAll('td')[1].textContent);
- totalPrice += priceCurrent;
- curr.remove()
- total.textContent = totalPrice.toFixed(2);
- });
- const trHide = creatElement('tr', undefined, 'hide');
- const tdHide = creatElement('td', `Year: ${year.value}`);
- const tdhideColSpan = creatElement('td', `Description: ${description.value}`);
- tdhideColSpan.setAttribute("colspan", "3");
- [btnMore, btnBuy].map((a) => tdBtns.appendChild(a));
- [tdModel, tdPrice].map(e => tr.appendChild(e));
- tr.appendChild(tdBtns);
- [tdHide, tdhideColSpan].map((h) => trHide.appendChild(h));
- list.appendChild(tr);
- list.appendChild(trHide);
- model.value = '';
- description = "";
- year.value = '';
- price.value = '';
- }
- function creatElement(type, content, attribute) {
- const el = document.createElement(type);
- if (attribute) {
- el.setAttribute('class', attribute); //atribute = class
- el.textContent = content;
- } else if (content) {
- el.textContent = content;
- }
- return el;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement