<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: alexis celeste</title>
    <description>The latest articles on DEV Community by alexis celeste (@aexslove).</description>
    <link>https://dev.to/aexslove</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F372649%2F6a261d62-662e-4403-9c92-12cf0a492144.jpg</url>
      <title>DEV Community: alexis celeste</title>
      <link>https://dev.to/aexslove</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aexslove"/>
    <language>en</language>
    <item>
      <title>I need to debug my Javascript code. Help please</title>
      <dc:creator>alexis celeste</dc:creator>
      <pubDate>Fri, 24 Apr 2020 02:02:37 +0000</pubDate>
      <link>https://dev.to/aexslove/i-need-to-debug-my-javascript-code-help-please-bp</link>
      <guid>https://dev.to/aexslove/i-need-to-debug-my-javascript-code-help-please-bp</guid>
      <description>&lt;p&gt;I don't know why the items arent updating in the shopping cart. only the last item shows&lt;/p&gt;

&lt;p&gt;if (document.readyState == 'loading') {&lt;br&gt;
    document.addEventListener('DOMContentLoaded', ready)&lt;br&gt;
} else {&lt;br&gt;
    ready()&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function ready() {&lt;br&gt;
    var removeCartItemButtons = document.getElementsByClassName('btn-danger') //removes item&lt;br&gt;
    for (var i = 0; i &amp;lt; removeCartItemButtons.length; i++) {&lt;br&gt;
        var button = removeCartItemButtons[i]&lt;br&gt;
        button.addEventListener('click', removeCartItem)&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var quantityInputs = document.getElementsByClassName('cart-quantity-input') //input for quantity
for (var i=0 ; i &amp;lt; quantityInputs.length; i++) {
    var input = quantityInputs[i]
    input.addEventListener('change', quantityChanged)
}

var addToCartButtons = document.getElementsByClassName('shop-item-button')
for (var i = 0; i &amp;lt; addToCartButtons.length; i++) {
    var button = addToCartButtons[i]
    button.addEventListener('click', addToCartClicked)
}

document.getElementsByClassName('btn-purchase')[0].addEventListener('click', purchaseClicked) //once pressed it simulates a purchase and clears the items
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;function purchaseClicked() {&lt;br&gt;
    alert('Thank you for your purchase')&lt;br&gt;
    var cartItems = document.getElementsByClassName('cart-items')[0]&lt;br&gt;
    while (cartItems.hasChildNodes()) {&lt;br&gt;
        cartItems.removeChild(cartItems.firstChild)&lt;br&gt;
    }&lt;br&gt;
    updateCartTotal()&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function removeCartItem(event) {&lt;br&gt;
    var buttonClicked = event.target&lt;br&gt;
    buttonClicked.parentElement.parentElement.remove()&lt;br&gt;
    updateCartTotal()&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function quantityChanged(event) {&lt;br&gt;
    var input = event.target&lt;br&gt;
    if (isNaN(input.value) || input.value &amp;lt;= 0) { //checks if iput is a number and positive value&lt;br&gt;
        input.value = 0&lt;br&gt;
    }&lt;br&gt;
    updateCartTotal()&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function addToCartClicked(event) {&lt;br&gt;
    var button = event.target&lt;br&gt;
    var shopItem = button.parentElement  //.parentElement&lt;br&gt;
    var title = shopItem.getElementsByClassName('shop-item-title')[0].innerText&lt;br&gt;
    var price = shopItem.getElementsByClassName('shop-item-price')[0].innerText&lt;br&gt;
   var imageSrc = shopItem.getElementsByClassName('shop-item-image')[0].src&lt;br&gt;
    addItemToCart(title, price, imageSrc)&lt;br&gt;
    updateCartTotal()&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function addItemToCart(title, price, imageSrc) {&lt;br&gt;
    var cartRow = document.createElement('div')&lt;br&gt;
    cartRow.classList.add('cart-row')&lt;br&gt;
    var cartItems = document.getElementsByClassName('cart-items')[0]&lt;br&gt;
    var cartItemNames = cartItems.getElementsByClassName('cart-item-title')&lt;br&gt;
    for (var i = 0; i &amp;lt; cartItemNames.length; i++) {&lt;br&gt;
        if (cartItemNames[i].innerText == title) {&lt;br&gt;
            alert('This item is already added to the cart')&lt;br&gt;
            return&lt;br&gt;
        }&lt;br&gt;
    }&lt;br&gt;
   var cartRowContents = &lt;code&gt;&lt;br&gt;
        &amp;lt;div class="cart-item cart-column"&amp;gt;&lt;br&gt;
            &amp;lt;img class="cart-item-image" src="${imageSrc}" width="100" height="100"&amp;gt;&lt;br&gt;
            &amp;lt;span class="cart-item-title"&amp;gt;${title}&amp;lt;/span&amp;gt;&lt;br&gt;
        &amp;lt;/div&amp;gt;&lt;br&gt;
        &amp;lt;span class="cart-price cart-column"&amp;gt;${price}&amp;lt;/span&amp;gt;&lt;br&gt;
        &amp;lt;div class="cart-quantity cart-column"&amp;gt;&lt;br&gt;
            &amp;lt;input class="cart-quantity-input" type="number" value="1"&amp;gt;&lt;br&gt;
            &amp;lt;button class="btn btn-danger" type="button"&amp;gt;REMOVE&amp;lt;/button&amp;gt;&lt;br&gt;
        &amp;lt;/div&amp;gt;&lt;/code&gt;&lt;br&gt;
    cartRow.innerHTML = cartRowContents&lt;br&gt;
    cartItems.append(cartRow)&lt;br&gt;
    cartRow.getElementsByClassName('btn-danger')[0].addEventListener('click', removeCartItem)&lt;br&gt;
    cartRow.getElementsByClassName('cart-quantity-input')[0].addEventListener('change', quantityChanged)&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;function updateCartTotal() {&lt;br&gt;
    var cartItemContainer = document.getElementsByClassName('cart-items')[0]&lt;br&gt;
    var cartRows = cartItemContainer.getElementsByClassName('cart-row')&lt;br&gt;
    var total = 0&lt;br&gt;
    for (var i = 0; i &amp;lt; cartRows.length; i++) {&lt;br&gt;
        var cartRow = cartRows[i]&lt;br&gt;
        var priceElement = cartRow.getElementsByClassName('cart-price')[0]&lt;br&gt;
        var quantityElement = cartRow.getElementsByClassName('cart-quantity-input')[0]&lt;br&gt;
        var price = parseFloat(priceElement.innerText.replace('$', ''))&lt;br&gt;
        var quantity = quantityElement.value&lt;br&gt;
        var subtotal = (price * quantity)&lt;br&gt;
            document.getElementById("subtotals").innerHTML = subtotal; //posts result on html&lt;br&gt;
        var shipping = 7.99&lt;br&gt;
        var taxRate= 0.0825&lt;br&gt;
        var taxes = subtotal*taxRate;   //(0.0825*subtotal)&lt;br&gt;
            taxes = Math.round(taxes * 100) / 100 //Keeps taxes to two decimals&lt;br&gt;
            document.getElementById("tax").innerHTML = taxes;&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    total = total + shipping + taxes + subtotal
        document.getElementById("totals").innerHTML = total; //prints on the html file
}
total = Math.round(total * 100) / 100 //Keeps total to two decimals

document.getElementsByClassName('cart-total-price')[0].innerText = '$' + total
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

</description>
      <category>help</category>
    </item>
  </channel>
</rss>
