DOM: recup data-id via event

Résolu/Fermé
papadinosaure Messages postés 7 Date d'inscription mercredi 13 juillet 2022 Statut Membre Dernière intervention 11 octobre 2022 - Modifié le 13 juil. 2022 à 13:45
papadinosaure Messages postés 7 Date d'inscription mercredi 13 juillet 2022 Statut Membre Dernière intervention 11 octobre 2022 - 13 juil. 2022 à 14:39

Bonjour,

Je travail sur une page panier, où je veux pouvoir changer la quantité d'un produit et identifier ce produit parmi d'autres.

J'ai une page avec plusieurs articles(".cart__item") dans une section("#cart__itmes").

Chaque article a data-id comme attribut et un input type="number".

J'ai une méthode qui récupère la valeur changée de l'input :


document.querySelector("input")

    .closest("#cart__items")

    .addEventListener("change", (event) => {

      var newValInput = (event.target.value);

      alert(newValInput);

    });




Et ce que je voudrais, c'est d’accéder au data-id de l'article qui est la cible de l’événement.

Ca fait 12h que je tourne en rond, pouvez m'apporter votre aide ?

2 réponses

jordane45 Messages postés 38304 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 novembre 2024 4 705
Modifié le 13 juil. 2022 à 14:29

Bonjour,

var id = event.target.getAttribute('data-id');

Et si ton data-attribute ne se trouve dans au niveau de l'input, dans ce cas il faut aller le chercher dans le "parent"

Pour ça, tu peux utiliser 

parentElement

1
papadinosaure Messages postés 7 Date d'inscription mercredi 13 juillet 2022 Statut Membre Dernière intervention 11 octobre 2022
13 juil. 2022 à 14:39

Merci pour ta réponse,

Entre temps j'ai trouver une autre solution, : 

var newValInput2 = (event.target.closest("article"));
      alert(newValInput2.dataset.id);

Mais je vais tester ta solution, ça m'intéresse.

Encore merci et bonne journée.

0