Advertisement
Guest User

js eindoefening

a guest
Aug 19th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.65 KB | None | 0 0
  1. var groentenLijst = [
  2. ["aardappelen",0.95,"kg"],
  3. ["avocado",2.69,"stuk"],
  4. ["bloemkool",1.93,"stuk"],
  5. ["brocoli",1.29,"stuk"],
  6. ["champignons",0.89,"250g"],
  7. ["chinese kool",1.59,"stuk"],
  8. ["groene kool",1.69,"stuk"],
  9. ["knolselder",1.29,"stuk"],
  10. ["komkommer",2.49,"stuk"],
  11. ["kropsla",1.69,"stuk"],
  12. ["paprika",0.89,"net"],
  13. ["prei",2.99,"bundel"],
  14. ["princessenbonen",1,"250g"],
  15. ["rapen",0.99,"bundel"],
  16. ["kropsla",1.69,"stuk"],
  17. ["rode kool",1.39,"stuk"],
  18. ["sla iceberg",1.49,"stuk"],
  19. ["spinazie vers",1.89,"300g"],
  20. ["sjalot",0.99,"500g"],
  21. ["spruiten",1.86,"kg"],
  22. ["trostomaat",2.99,"500g"],
  23. ["ui",0.89,"kg"],
  24. ["witloof 1ste keus",1.49,"700g"],
  25. ["wortelen",2.59,"kg"],
  26. ["courgetten",1.5,"stuk"]
  27. ];
  28.  
  29. var winkels = [
  30. {naam:"de fruitmand",adres:"steenstraat 34", post:8000,gemeente:"Brugge",tel:"050342218",manager:"Francine Lapoule"},
  31. {naam:"Jos & Anneke",adres:"visserijstraat 1", post:8400,gemeente:"Oostende",tel:"059463689",manager:"Jos Leman"},
  32. {naam:"groene vingers",adres:"hoogstraat 108", post:9000,gemeente:"Gent",tel:"091342218"},
  33. {naam:"de buurtwinkel",adres:"die laene 22", post:2000,gemeente:"Antwerpen",tel:"0230342218",manager:"Bert Simoens"}
  34. ];
  35.  
  36. var totaalPrijs = 0;
  37.  
  38. window.onload = function () {
  39. // nieuwe tabel aanmaken en deze als 1ste child van het winkelmandje !voor het totaal!
  40. var tekstLeegMandje = document.getElementById('leeg');
  41. var nieuweDiv = document.createElement('div');
  42. var tabel = document.createElement('table');
  43. var inhetMandje = document.getElementById('winkelmandje');
  44.  
  45. nieuweDiv.appendChild(tabel);
  46. inhetMandje.insertBefore(nieuweDiv, tekstLeegMandje);
  47.  
  48. var toevoegenAanWinkelMandjeKnop = document.getElementById('toevoegen');
  49. maakKeuzeLijstWinkels();
  50. maakKeuzeLijstGroenten();
  51.  
  52. toevoegenAanWinkelMandjeKnop.addEventListener('click', function(e){
  53. var keuzeWinkel = document.getElementById('winkel');
  54. var keuzeGroente = document.getElementById('groente');
  55. var aantalGroente = document.getElementById('aantal');
  56.  
  57. var gekozenWinkel = keuzeWinkel.value;
  58. var gekozenGroente = keuzeGroente.value;
  59. var ingegevenAantal = aantalGroente.value;
  60. var foutBericht = "";
  61.  
  62. if(gekozenWinkel == ""){foutBericht += 'Kies een winkel ';}
  63. if(gekozenGroente == ""){foutBericht += ' kies een groente ';}
  64. if(isNaN(ingegevenAantal) || ingegevenAantal == "" || ingegevenAantal == 0 ){foutBericht += ' geef een aantal in'}
  65.  
  66. if(foutBericht == ""){
  67. inWinkelmandjePlaatsen(gekozenGroente,ingegevenAantal, tabel, tekstLeegMandje );
  68. }
  69. else{
  70. window.alert(foutBericht);
  71. }
  72. });
  73. // click functie stopt hier
  74. }
  75. // window onload stopt hier
  76.  
  77. function maakKeuzeLijstWinkels(){
  78. var winkelKeuzelijst = document.getElementById('winkel');
  79. for( var i=0 ; i < winkels.length ; i++ ){
  80. var option = document.createElement('option');
  81. option.innerHTML = winkels[i].naam;
  82. option.value = i;
  83. var adres = winkels[i].adres + ', ' + winkels[i].post + ' ' + winkels[i].gemeente;
  84. option.setAttribute('title',adres); // deze werkt niet in microsoft edge/internet explorer(helemaal niets), wel in firefox/chrome/opera !!!!!!
  85. winkelKeuzelijst.appendChild(option);
  86. }
  87. }
  88.  
  89. function maakKeuzeLijstGroenten(){
  90. var groentenKeuzelijst = document.getElementById('groente');
  91. for( var i=0 ; i < groentenLijst.length ; i++ ){
  92. var option = document.createElement('option');
  93. var groenteNaamEnPrijs = groentenLijst[i][0] + ' ' + '('+ groentenLijst[i][1] + '€' + '/' + groentenLijst[i][2] + ')';
  94. option.innerHTML = groenteNaamEnPrijs;
  95. option.value = i;
  96. groentenKeuzelijst.appendChild(option);
  97. }
  98. }
  99.  
  100. function inWinkelmandjePlaatsen(gekozenGroente,ingegevenAantal, tabel, tekstLeegMandje){
  101.  
  102. tekstLeegMandje.style.display = 'none'; // tekst leeg mandje weg
  103.  
  104. var naamGekozenGroente = groentenLijst[gekozenGroente][0];
  105. var prijsGekozenGroente = groentenLijst[gekozenGroente][1];
  106.  
  107.  
  108. var testIdBestaat = document.getElementById(naamGekozenGroente);
  109. if(testIdBestaat === null){ // bestaat de id al ?
  110. var nieuweRij = document.createElement('tr');
  111. nieuweRij.setAttribute('id',naamGekozenGroente);
  112. tabel.appendChild(nieuweRij);
  113. var dezeRij = document.getElementById(naamGekozenGroente);
  114.  
  115. var kolomGroennteNaam = document.createElement('td');
  116. kolomGroennteNaam.setAttribute('class', 'item');
  117. var textNode = document.createTextNode(naamGekozenGroente);
  118. kolomGroennteNaam.appendChild(textNode);
  119. dezeRij.appendChild(kolomGroennteNaam);
  120.  
  121. var kolomAantal = document.createElement('td');
  122. kolomAantal.setAttribute('class', 'item');
  123. kolomAantal.id = naamGekozenGroente + 'Aantal';
  124. var textNode = document.createTextNode(ingegevenAantal);
  125. kolomAantal.appendChild(textNode);
  126. dezeRij.appendChild(kolomAantal);
  127.  
  128. var kolomPrijs = document.createElement('td');
  129. kolomPrijs.setAttribute('class', 'item');
  130. var textNode = document.createTextNode(prijsGekozenGroente);
  131. kolomPrijs.appendChild(textNode);
  132. dezeRij.appendChild(kolomPrijs);
  133.  
  134. var rijTotaalKolom = document.createElement('td');
  135. rijTotaalKolom.setAttribute('class', 'celrechts');
  136. rijTotaalKolom.id = naamGekozenGroente +'Prijs';
  137. var rijTotaal = prijsGekozenGroente*ingegevenAantal
  138. var textNode = document.createTextNode(rijTotaal.toFixed(2));
  139. rijTotaalKolom.appendChild(textNode);
  140. dezeRij.appendChild(rijTotaalKolom);
  141.  
  142. totaalPrijsBerekenen(rijTotaal);
  143. }
  144. else{
  145. var huidigAantal = document.getElementById(naamGekozenGroente + 'Aantal').innerHTML;
  146. var huidigAantalAanpassen = document.getElementById(naamGekozenGroente + 'Aantal');
  147.  
  148. huidigAantal = parseInt(huidigAantal) + parseInt(ingegevenAantal);
  149. huidigAantalAanpassen.innerHTML = huidigAantal;
  150.  
  151.  
  152. var huidigePrijs = document.getElementById(naamGekozenGroente + 'Prijs');
  153. var nieuwTotaalRij = huidigAantal * prijsGekozenGroente;
  154. huidigePrijs.innerHTML = nieuwTotaalRij.toFixed(2);
  155. totaalPrijsBerekenen(nieuwTotaalRij);
  156. }
  157. }
  158.  
  159. function totaalPrijsBerekenen(rijTotaal){
  160. totaalPrijs += rijTotaal;
  161. var globaalTotaal = document.getElementById('totNum');
  162. globaalTotaal.innerHTML = totaalPrijs.toFixed(2);
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement