Как мне сложить получившиеся числа?

У меня есть две формы, с обеих я получаю числа с помощью addEventListener
Но проблема в том, что я не могу вынести получившиеся числа за пределы лисенера, пытался засовывать прослушку и в функцию и в переменную, но ничего не выходит.
<div class="variable">
            <div class="card">        
                <input type="radio" id="rad1" name="license" value="13" >
                <label for="rad1" class="plan" value="13">LICENSE PLAN#1</label>     
                <p class="price" data-price="13">$13 per license</p>
            </div>

            <div class="card">
                <input type="radio" id="rad2" name="license" value="22">   
                <label for="rad2" class="plan">LICENSE PLAN#2</label>     
                <p class="price" data-price="22">$22 per license</p>
            </div>

            <div class="card">
                <input type="radio"  id="rad3" name="license"  value="32">   
                <label for="rad3" class="plan">LICENSE PLAN#3</label>     
                <p class="price" data-price="32">$32 per license</p>
            </div>
        </div>
        <label class="number" for="">Number of license
            <select name="quantity" id="quantity">
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
                <option value="4">4</option>
                <option value="5">5</option>
                <option value="6">6</option>
                <option value="7">7</option>
                <option value="8">8</option>
                <option value="9">9</option>
                <option value="10">10</option>
            </select>
        </label>


let input = document.querySelector(".variable")
let select = document.querySelector('#quantity')


input.addEventListener('click', (event) =>{
    if(event.target.value != undefined){
        tarif = event.target.value  
        console.log(tarif)  
    }
})

select.addEventListener('change', (event) =>{
    test = event.target.value
    console.log(test)
})
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
@r_g_b_a
const tariff = document.querySelectorAll('[name="license"]');
const license = document.querySelector('#quantity');

let currentTariff = null;
let currentLicense = null;

function calc() {
  if(!currentTariff || !currentLicense) return;
  
  // тут код для вывода результата
}

tariff.forEach(el => {
  el.addEventListener('change', (e) => {
    currentTariff = e.currentTarget.value;
    calc();
  })
});

license.addEventListener('change', (e) => {
  currentLicense = e.currentTarget.value;
  calc();
})
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 05:21
2000 руб./за проект
28 нояб. 2024, в 05:18
500 руб./за проект
28 нояб. 2024, в 03:51
3500 руб./за проект