11193 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde j'ai un soucis pour utiliser ma fonction de suppression

Je vous ais mis mon code pour que vous puissiez voir, mais tous mes élément sont créer dans un boucle for dans mon panier (pour qu'ils se créer tous automatiquement quand il y en a plusieurs)

Ma fonction de suppression ne se laisse appeler que si je la met dans la création de mes éléments "cartProducts "
Le problème que j'ai c'est que du coup, si par exemple j'ai 5 articles dans mon panier, si je viens a vouloir supprimer le 2ème article, ma fonction se repète et supprime tous les articles après le 2ème (ça laisse le premier du coup)

Avez vous une idée svp de ce que je pourrais faire pour faire ne sorte d'utiliser ma fonction de suppression qu'une seule fois sans qu'elle se repète svp j'avoue que je sèche un peut ça serais génial de votre part si vous pouviez m'apporter votre lumière
Merci par avance à ceux qui me liront / répondront





//Fonction de suppression 
  let products = JSON.parse(localStorage.getItem("products"));

  function removeItem() {

    let removeBtn = document.querySelectorAll(".deleteItem");
 
    console.log(removeBtn);

    for (let i = 0; i < removeBtn.length; i++) {
      removeBtn[i].addEventListener("click", () => {
        
        let articleSupp = removeBtn[i].closest("article");
        
        articleSupp.remove();
        deleteItemSelected(i);
        alert("This Item will be remove from your cart");
        window.location.href = "cart.html";
  
        // Actualising the total amount of item in the cart    
      });
      //This Function 
      function deleteItemSelected(index) {
        products.splice(index, 1);
        localStorage.setItem("products", JSON.stringify(products));
        
      }
    }
  }
  removeItem(); /************* Je ne peux pas appeler simplement ma fonction ici ou plus haut, comme on le fait des fois pour d'autres fonctions**********/ 

Modifié par JohanDev (19 Nov 2021 - 16:29)
Modérateur
Bonjour,

On ne comprend rien à la question.

J'imagine que ce code a été récupéré quelque part.

1) quel est le code d'origine ?

2) le site est-il en ligne qu'on puisse avoir une idée de ce qu'il fait ?

Amicalement,