@danyfir

Как найти и поменять value сразу у нескольких элементов?

Есть такое условие у меня на сайте (в зависимости от выбранного select, выбирается значение):
if (label=='Подписка на 1 месяц') {
document.getElementById("cena").value='1200';
 } 
else if (label=='Подписка на 2 месяца') {
document.getElementById("cena").value='2100';
}
else if (label=='Подписка на 3 месяца') {
 document.getElementById("cena").value='3000';
}
...


И есть несколько форм с разными методами оплаты, куда value и подставляется этот:
<form id="cardpayment>
 <input type="hidden" id="cena" name="LMI_PAYMENT_AMOUNT" value="1200" />
<input type="submit">
</form>
<form id="yapay>
 <input type="hidden" id="cena" name="LMI_PAYMENT_AMOUNT" value="1200" />
<input type="submit">
</form>
<form id="qiwi>
 <input type="hidden" id="cena" name="LMI_PAYMENT_AMOUNT" value="1200" />
<input type="submit">
</form>


Только сегодня я понял, что это работает лишь к первой форме. Собственно, если человек выбирал в select "Подписка на 2 месяца", допустим, то значение не менялось...
Я понимаю что ID уникальный и не может быть общим на все формы... Похоже тут только через цикл надо делать это? Подскажите как правильно!
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
Whiled0S
@Whiled0S
Lazy frontend
Почему просто не задать разные id по типу cena_1, cena_2, cena_3?
После этого в зависимости от условия брать именно по нужному id.

Либо же можно использовать document.querySelector и передавать туда 2 id (id формы и вложенный cena)
document.querySelector("#qiwi > #cena");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы