Прежде всего, вы не можете иметь несколько идентификаторов в своей DOM, измените свои входные идентификаторы на классы и найдите вход, перейдя к первому parentElement, а затем выберите вход этого родительского элемента.
Аналогично измените свой addRoom и substractRoom также для классов, чтобы вы могли правильно найти их в своей DOM через querySelectorAll, после этого вы можете легко l oop через них и назначить eventListeners каждому из ваших +/- узлов.
* 1004 Кроме того, поиск ближайшего элемента может привести к ошибкам при добавлении кода, поэтому лучше полагаться на классы. Найдите входные данные с помощью querySelector и выполните поиск по заданному классу.
document.querySelectorAll('.addRoom').forEach((el) => {
el.addEventListener("click", (e) => {
let input = e.target.parentNode.querySelector('.rooms_amount')
input.value = parseInt(input.value) + 1;
});
});
document.querySelectorAll('.substractRoom').forEach((el) => {
el.addEventListener("click", (e) => {
let input = e.target.parentNode.querySelector('.rooms_amount')
input.value = parseInt(input.value) - 1;
});
});
<div id="center_counters_wrap">
<small class="smallTitle">Bedrooms</small>
<div id="bedrooms_counter_wrap">
<div class="roomsWrap">
<div class="addRoom" class="data-increase">+</div>
<div class="substractRoom">-</div>
<input class="rooms_amount" value="0" placeholder="0" type="number" autocomplete="off" placeholder="0" required>
</div>
</div>
<small class="smallTitle">Bathrooms</small>
<div id="bedrooms_counter_wrap">
<div class="roomsWrap">
<div class="addRoom">+</div>
<div class="substractRoom">-</div>
<input class="rooms_amount" value="0" type="number" autocomplete="off" placeholder="0" required>
</div>
</div>
<small class="smallTitle">Kitchens</small>
<div id="bedrooms_counter_wrap">
<div class="roomsWrap">
<div class="addRoom">+</div>
<div class="substractRoom">-</div>
<input class="rooms_amount" value="0" type="number" autocomplete="off" placeholder="0" required>
</div>
</div>
</div>