Advertisement
Silviya7

2.Expense Tracker

Apr 12th, 2024
890
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. function solve(){
  3.     const ElementExpense=document.getElementById('expense');
  4.     const Elementamount=document.getElementById('amount');
  5.     const Elementdate=document.getElementById('date');
  6.     const BtnAdd=document.getElementById('add-btn');
  7.     const elementUl= document.getElementById('preview-list');
  8.     const expenseElement= document.getElementById('expenses-list');
  9.     const BtnDelete= document.querySelector('.btn.delete');
  10.    
  11.  
  12.     BtnDelete.addEventListener('click',()=>{
  13.         expenseElement.innerHTML='';
  14.     });
  15.  
  16.     BtnAdd.addEventListener('click',()=>{
  17.        /* console.log(ElementExpense.value);
  18.         console.log(Elementamount.value);
  19.         console.log(Elementdate.value);*/
  20.    
  21.         if(!ElementExpense.value || !Elementamount.value || !Elementdate.value){
  22.            return;
  23.         }
  24.        
  25.         let firstp=document.createElement('p');
  26.    
  27.         firstp.textContent=`Type: ${ElementExpense.value}`;
  28.         let secondp=document.createElement('p');
  29.         secondp.textContent=`Amount: ${Elementamount.value}$`;
  30.         let thirdp=document.createElement('p');
  31.         thirdp.textContent=`Date: ${Elementdate.value}`;
  32.    
  33.         const ElementArticle= document.createElement('article');
  34.         ElementArticle.appendChild(firstp);
  35.         ElementArticle.appendChild(secondp);
  36.         ElementArticle.appendChild(thirdp);
  37.    
  38.         const Elementli=document.createElement('li');  
  39.         const DivBtns= document.createElement('div');
  40.         DivBtns.classList.add('buttons');
  41.         const btnedit=document.createElement('button');
  42.         const btnok=document.createElement('button');
  43.    
  44.         btnedit.classList.add('btn','edit');
  45.         btnedit.textContent='EDIT';
  46.         btnok.classList.add('btn','ok');
  47.         btnok.textContent='OK';
  48.    
  49.         DivBtns.appendChild(btnedit);
  50.         DivBtns.appendChild(btnok);
  51.         Elementli.classList.add('expense-item');
  52.    
  53.         Elementli.appendChild(ElementArticle);
  54.         elementUl.appendChild(Elementli);
  55.         Elementli.appendChild(DivBtns);
  56.        
  57.          ElementExpense.value='';
  58.          Elementamount.value='';
  59.          Elementdate.value='';
  60.          BtnAdd.setAttribute('disabled','disabled');      
  61.  
  62.         btnedit.addEventListener('click',()=>{
  63.            let ListNodes= document.querySelectorAll('article p');
  64.            let AllList=Array.from(ListNodes);
  65.  
  66.            ElementExpense.value=AllList[0].textContent.substring(6);
  67.            Elementamount.value=AllList[1].textContent.substring(8,AllList[1].textContent.length-1);
  68.            Elementdate.value=AllList[2].textContent.substring(6);
  69.            Elementli.remove();
  70.            BtnAdd.removeAttribute('disabled');
  71.         });
  72.  
  73.         btnok.addEventListener('click',()=>{        
  74.            
  75.             expenseElement.appendChild(Elementli);
  76.             DivBtns.remove();
  77.             BtnAdd.removeAttribute('disabled');
  78.         });
  79.        
  80. });
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement