Witam
Zmagam się z problemem w mojej aplikacji. Tworze sobie aplikacje rankingową kryptowalut, gdzie dane pobieranie są z API. Wszystko opakowane jest w każdy wiersz i tabelę jak parent. Dodałem dla każdego rowa button, który umożliwi mi dodanie całego wiersza (ponieważ później w innej zakładce wyświetle je w łatwy sposób) do tablicy "ulubione". I tutaj jest problem, dodawanie poprzez przycisk danego wiersza szaleje, czasami dodaje prawidłowy row, a czasami nie, to samo tyczy się usuwania. Jak rozwiązać ten problem? Bardzo mi zależy na dokończeniu aplikacji, a już nie wiem co robić. Proszę o pomoc. Zamieszczam dodatkowe zdjęcia z aplikacji:
if (index == arrOne.length - 1){ //sprawdzam czy zakończono render wszystkich elementów z API
let items = document.getElementsByClassName('addCoinFavourite'); // porbranie list elementów gdzie znajdują się buttony
for(let i = 0; i<items.length; i++){
items[i].addEventListener('click', function(){ //przypisanie do każdego elementu funkcji click
let index = this.parentNode.parentNode.id;
if(favouriteCoinList.includes(items[i].parentNode.id))
{
$(this).toggleClass("addCoinFavourite-green")
favouriteCoinList.splice(index,1)
console.log(favouriteCoinList)
}
else{
$(this).toggleClass("addCoinFavourite-green")
console.log(favouriteCoinList.push(this.parentNode.parentNode));
console.log(favouriteCoinList);
}
console.log(index);
});
}
}
Tak wygląda widok kodu. Po kliknięciu buttona ma dodać row-coin do tablicy gdzie trzymam wszystkie dane.
Tutaj podgląd tej aplikacji. Jak widać, jest zielony przycisk, który pozwoli mi na usuwanie i dodawanie elementów. Oczywiście po kliknięciu buttona zamienia się on w zielony kolor, po drugim kliknięciu na pierwotny.