Изменение value +/-1000 по нажатию кнопки

306
15 января 2018, 07:35
<div class="first-range range-container">
    <div class="text">
        <p>Сумма займа <span id="give-money"></span></p>
    </div>
    <div class="range-input">
        <a href="#" id="minus-money"><img src="img/minus.png" alt=""></a>
        <input id="money" type="range" min="3000" max="15000" step="1000" value="4500">
        <a href="#" id="plus-money"><img src="img/plus.png" alt=""></a>
    </div>                          
</div>
<div class="second-range range-container">
    <div class="text">
        <p>Срок займа <span id="give-day">1 <span>день</span></span></p>
    </div>
    <div class="range-input">
        <a href="#" id="minus-day"><img src="img/minus.png" alt=""></a>
        <input id="day" type="range" min="31" max="40" step="1" value="5">
        <a href="#" id="plus-day"><img src="img/plus.png" alt=""></a>
    </div>`введите сюда код`
</div>

Не получается сделать складывание и вычитание к value по нажатию кнопок. Значение input принимает, но в String, а прибавить к нему не получается, прибавляются строки и получается не 1000 + 5000 = 6000, а 10005000 Помогите пожалуйста кто-нибудь?

Answer 1
$('#plus-money').on('click', function (e) {
    e.preventDefault();
    var count = parseInt($("#money").val()) + 1000;
    $("#money").val(count);
    $("#money").change();
    $('#give-money').text($("#money").val() + ' рублей');
    calculator();
});
$('#minus-money').on('click', function (e) {
    e.preventDefault();
    var count = parseInt($("#money").val()) - 1000;
    $("#money").val(count);
    $("#money").change();
    $('#give-money').text($("#money").val() + ' рублей');
    calculator();
});

Спасибо, смог разобраться, оказывается не правильно использовал parseInt.

Answer 2

Получается, что вы берете значение из инпутов при сложении, а кто сказал, что из value в инпуте на выходе Number? Получается обычная конкатенация.

alert( '1' + 2 ); // "12" 
alert( 2 + '1' ); // "21" 
alert( '2' + '1' ); // "21" 
 
// Правильней будет привести к нужному типу 
 
const val1 = '100'; 
const val2 = '500'; 
 
alert(+val1 + +val2); 
 
// или 
 
alert(parseInt(val1, 10) + Number(val2));

READ ALSO
Добавить строку в таблицу

Добавить строку в таблицу

как добавить еще 1 строку в таблицу по нажатию кнопки

449
Контактная форма на Foundation

Контактная форма на Foundation

Помогите сверстать с помощью фреймворка Foundation эту контактную формуПроблема в том что не могу разобраться как работать с отступами со вложенными...

287
Поддержка лигатурных иконок браузерами

Поддержка лигатурных иконок браузерами

Наткнулся на интересную штуку - шрифт, в котором вместо иконки ты пишешь слово, а оно показывается как иконкаНе знаю, как сделано именно тут,...

239
Треугольник с частью изображения

Треугольник с частью изображения

Как лучше всего реализовать такой треугольник с частью изображения

289