Oppgave 6
Lag et skjema som lar deg fylle ut en handleliste. Listen skal bestå av varenavnet og antall varer. Når du trykker på en knapp skal varen legges til i en ul-liste i nettsiden. Under listen skal det vises totalt antall varer.
Resultat
Hvis du prøver å legge til noe som allerde er i listen, så vil bare antallet gå opp, så man ikke får flere av samme ting nedover.
Antall varer: 0
Koden
JavaScript
window.onload = ready;
function ready() {
document.getElementById("o6-add").onclick = addToList;
}
function addToList() {
var item = document.getElementById("o6-item").value;
var itemSlug = item.replace(/\s+/g, '-').toLowerCase(); // Fjern mellomrom og gjør til små bokstaver
var itemCountAdd = parseInt(document.getElementById("o6-amount").value);
var itemCountCurrent = 0;
// Hvis varen finnes fra før, legg til antall i eksisterende
if (document.getElementById(itemSlug)) {
itemCountCurrent = parseInt(document.getElementById(itemSlug + "-count").innerHTML);
document.getElementById(itemSlug + "-count").innerHTML = itemCountCurrent + itemCountAdd;
} else { // Hvis ikke, lag ny
document.getElementById("o6-list").innerHTML += "" + item
+ " x " + document.getElementById("o6-amount").value
+ " ";
}
// Total count
document.getElementById("o6-count").innerHTML = parseInt(document.getElementById("o6-count").innerHTML) + itemCountAdd;
}
HTML
<div class="row input-field">
<input id="o6-item" type="text" placeholder="Varenavn" class="col s7">
<input id="o6-amount" type="number" min="1" placeholder="Antall" class="col s3">
<button id="o6-add" class="col s2 btn black">+</button>
</div>
<ul id="o6-list"></ul>
<p>Antall varer: <b id="o6-count">0</b></p>