Вот фрагмент для этого.Мы прикрепляем слушателя к форме (а не к каждому входу).Затем мы смотрим, является ли вещь, на которую мы нажали, типом ввода checkbox
.Затем, если он checked
, мы помещаем его значение в массив, который мы хотим отобразить сверху, если not checked
, мы удаляем из этого массива.Затем мы выбираем элемент, в котором мы хотим отобразить наш список, и визуализируем.Надеюсь, это поможет.
let values = [];
const form = document.getElementById('form')
form.addEventListener('click', e => {
if (!e.target.type === 'checkbox') return;
const value = e.target.value;
const checked = e.target.checked;
if (checked) {
values.push(value)
} else {
const newValues = values.filter(v => v !== value);
values = newValues;
}
const valuesList = document.getElementById('valuesList')
valuesList.innerHTML = values.map(m => `#${m}`).join('')
})
<form id="form">
<div id="valuesList"></div>
<div>
I have a bike
<input type="checkbox" name="vehicle1" value="Bike">
</div>
<div>
I have a car
<input type="checkbox" name="vehicle2" value="Car">
</div>
</form>