Использование JavaScript
ПРИМЕЧАНИЕ: Я не использовал ваш код в моем примере, но как это могло выполняется с помощью al oop на элементах кнопок, записывая события щелчка в l oop и помещая эти значения в массив.
Вы можете запросить селекторы кнопок, я использую class
и querySelectorAll
в моем примере. Затем создайте массив для хранения значений нажатых кнопок. Выполните для l oop длину списка элементов кнопок. Используйте прослушиватель событий на каждой итерации, и если он запускается щелчком, запишите это в свой массив, используя pu sh.
Я решил использовать массив со значениями цвета для каждой кнопки в моем примере, и когда я создал отображение кнопок, я поместил значение цвета в текстовое содержимое и использовал его для получения значения цвета, выбранного при нажатии кнопки пользователем.
Используйте включает, чтобы увидеть, выбрал ли пользователь этот цвет, поэтому array.push()
записывает его только один раз.
Необязательно: очистите массив clicked
после того, как вы что-то сделаете с массивом, по которому щелкнули мышью, установив для него значение = []
.
let buttonsArr = [
'red',
'green',
'blue',
'yellow',
'orange'
];
let display = document.getElementById('display');
let done = document.getElementById('done');
for (let i in buttonsArr) {
display.innerHTML += "<button class='buttons' id='" + buttonsArr[i] + "'>" + buttonsArr[i] + "</button>";
}
let clicked;
let buttons = document.querySelectorAll('.buttons');
for (let n = 0; n < buttons.length; n++) {
clicked = [];
buttons[n].addEventListener('click', () => {
if (!clicked.includes(buttons[n].textContent)) {
clicked.push(buttons[n].textContent);
}
console.log(clicked); //--> `clicked` now holds the values of each color the user clicked on
})
}
done.addEventListener('click', () => {
document.getElementById('colors').textContent = clicked;
//optional empty the array once you do something with it.
clicked = [];
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="display"></div><p id="colors"></p>
<input type="button" value="Done" id="done">