@MisterRoboT
Я мистер робот

Как сделать кнопку для удаление на js или jquery данных из массива localstorage?

При добавлении товара в корзину создается массив products с ключом cart Как сделать так чтобы в колличестве товара отображалось необходимое значение? Эти товары просто добавляются в массив с колличеством один и дублируются. Не пронимаю как обратиться к этому массиву чтобы происходило удаление по кнопке btn-del?

653bb94895541776563101.jpeg

const deleteBtn = document.querySelectorAll(".btn-del"); // Ищем по класу. sd должно быть уникальным
deleteBtn.forEach(function(el) {
  el.addEventListener("click", function(event) {
    let id = event.target.dataset.id; // Берем id
    let itemIndex = data.findIndex(item => +item.id === +id); // Ищем индек элеменда в списке
    if (itemIndex === -1) return;
    data.splice(itemIndex, 1); // Удаляем из списка
    localStorage.setItem("cart", JSON.stringify(myCart));
    location.reload(); // Обновляем страницу и тогда не будет элемента
    // Или без обновления удаляем через js
  });
});
  • Вопрос задан
  • 91 просмотр
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
В localStorage хранится строка.
Нужно получить эту строку, преобразовать её в JSON, удалить какой-то товар, снова преобразовать в строку и сохранить в localStorage.

Вы привели кусок кода, который удаляет что-то из data, и записывает в localStorage.
При этом откуда берётся эта data - непонятно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы