Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблема с keyup (https://javascript.ru/forum/jquery/3525-problema-s-keyup.html)

Hetfield 29.04.2009 17:10

Проблема с keyup
 
Добрый день. Есть задача сделать калькулятор на сайте...
Одним из полей у него является "количество страниц"...
Так вот, нужно что-бы поле "result" показывала изменненый результат стразу как только ввелось число. То есть калькулятор без кнопок "Подсчитать"

Сделал так:
$(document).ready(function() {
    var globalSum = 150;
    var price = 0;
    var page_val = 0;

    $("#page_count").keyup(function () {
	    page_val = $("#page_count").attr("value") * 30;
            globalSum = globalSum + parseFloat(page_val);

           $("#result").attr("value", globalSum);
    });
});


<input id="result" type="text" class="inp_calc" name="res" value="150" />&nbsp;&nbsp;y.e.


Количество страниц: <input type="text" value="0" class="inp_short" id="page_count">


Проблема в том, что если набирать, к примеру, 22, то скрипт сначала реагирует на первую двойку, прибавляет в globalSum, а потом еще и 22 прибовляет... Что тут можно сделать, подскажите...

e1f 29.04.2009 18:31

$(document).ready(function() {
    var globalSum = 150;
    var price = 0;
    var page_val = 0;
    $("#page_count").keyup(function () {
        page_val = $("#page_count").attr("value") * 30;
        $("#result").attr("value", globalSum+parseFloat(page_val));
    });
});

так?

Hetfield 29.04.2009 21:24

Не, так же...

Hetfield 29.04.2009 21:25

Может запоминать в globalSum через какое-то время. Я просто не знаю как это реализовать...

x-yuri 30.04.2009 01:51

Цитата:

Сообщение от Hetfield (Сообщение 17884)
Не, так же...

как это так же... globalSum же не изменяется в варианте e1f

Hetfield 30.04.2009 09:15

Черт, все правильно. Это я тупанул :)
e1f, спасибо!!! Работает как надо.


Часовой пояс GMT +3, время: 17:15.