OldSchool1705
@OldSchool1705
I want to become a programmer

Как изменить range по клику?

При выборе checkbox нужно менять значение range (чтобы 1 деление range было столько сколько сам checkbox).
Хочу как на этом сайте (раздел "Цена IT аутсорсинга в Москве").

5fcf69aec2976897297521.png
form.price-form
                        .d-flex.justify-content-around.align-items-center
                            .d-flex.flex-column.w-100
                                label 

                                    input(type="range" min="0" max="100" step="400" value="0" name="price-range")
                                   
                                label
                                    input(type="range" min="0" max="20" step="0" value="0" name="price-ranges") 
                            .d-flex
                                label
                                    input(type="checkbox" name="price-check" value="400")
                                    |Удаленный
                                    <br>
                                    |400 руб. 
                                label
                                    input(type="checkbox" name="price-checkOne" value="900")
                                    |Базовый
                                    <br>
                                    |900 руб. 
                                label 
                                    input(type="checkbox" name="price-checkTwo" value="950")
                                    |Оптимальный
                                    <br>
                                    |950 руб.

var output = document.querySelector('#sum')
    var priceForm = document.querySelector('.price-form')
    priceForm.addEventListener('input', onInputPriceForm)
    priceForm.jsPrice = 0; // начальное значение
    function onInputPriceForm(evt) {
        var input = evt.target;
        var form = evt.currentTarget;
        var rangeValue = form['price-range'].value
        var rangeValues = form['price-ranges'].value
        var checkValue = form['price-check'].checked ? form['price-check'].value : 0;
        var checkValueOne = form['price-checkOne'].checked ? form['price-checkOne'].value : 0;
        var checkValueTwo = form['price-checkTwo'].checked ? form['price-checkTwo'].value : 0;


        output.innerText = Number(rangeValue) + Number(checkValue) + Number(rangeValues) + Number(checkValueOne) + Number(checkValueTwo)
    }
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
MrDecoy
@MrDecoy Куратор тега JavaScript
Верставший фронтендер
Пригласить эксперта
Ваш ответ на вопрос

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

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