Добавление нескольких значений к событию onclick
Подскажите пожалуйста как сделать, чтобы при прике на div с классом "text", добавляло/удаляло значение в событие "onclick" для кнопки "button". Пытаюсь сделать выбор товаров, с добавление в корзину одной кнопкой.
<div class="text">cart.add('1');</div>
<div class="text">cart.add('2');</div>
<div class="text">cart.add('3');</div>
<button type="button" onclick="cart.add('1');cart.add('2');cart.add('3');">Add to Cart</button>
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
так попробуйте, с удалением из массива при повторном клике
var cart = { addOrRemove: function (e) {
if (!selectedDivs.includes(this.textContent)) {
selectedDivs.push(this.textContent);
console.log("added " + this.textContent);
} else {
selectedDivs.splice(selectedDivs.indexOf(this.textContent), 1);
console.log("removed " + this.textContent);
}
}
};
let items = document.getElementsByClassName("text");
[...items].forEach(item => item.addEventListener("click", cart.addOrRemove.bind(item)));
let selectedDivs = [];
function printSelected(){
console.log(selectedDivs);
}
<div class="text">cart.add('1');</div>
<div class="text">cart.add('2');</div>
<div class="text">cart.add('3');</div>
<button type="button" onclick="printSelected()">Add to Cart</button>