Показать сообщение отдельно
  #1 (permalink)  
Старый 24.12.2014, 17:44
Новичок на форуме
Отправить личное сообщение для Yu.Ka. Посмотреть профиль Найти все сообщения от Yu.Ka.
 
Регистрация: 20.12.2014
Сообщений: 6

Проблема с форматированием числа в калькуляторе
Собственно, есть такой скрипт:
$(function() {
        $( "#slider-range-max" ).slider({
            range: "max",
            min: 500000,
            max: 50000000,
            value: 50000,
            step: 500000,
            slide: function( event, ui ) {
                $( "#amount" ).val( ui.value );
                calc();
            }
        });
        $( "#amount" ).val( $( "#slider-range-max" ).slider( "value" ) );

    });

    $(function() {
        $( "#slider-range-max2" ).slider({
            range: "max",
            min: 6,
            max: 48,
            value: 12,
            slide: function( event, ui ) {
                $( "#amount2" ).val( ui.value );
                calc();
            }
        });
        $( "#amount2" ).val( $( "#slider-range-max2" ).slider( "value" ) );
    });

    function calc(par){
    amount = document.cl_form.amount.value;
    document.cl_form.amount.value = document.cl_form.amount.value.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
    amount2 = document.cl_form.amount2.value;
    //var summ;
    summ =  (Number(amount) + 0.01 * Number(amount) * Number(amount2))/Number(amount2);
    summ2 =  Number(amount) + 0.01 * Number(amount) * Number(amount2);
    summ = summ.toFixed(0);
    summ2 = summ2.toFixed(0);
    summ = summ.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
    summ2 = summ2.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
    document.cl_form.summ.value=summ;
    document.cl_form.summ.value=summ2;
    //document.getElementById("amounttd").innerHTML=amount;
    //document.getElementById("amount2td").innerHTML=amount2;
    document.getElementById("summ").innerHTML=summ;
    document.getElementById("summ2").innerHTML=summ2;
    return false; 
    }

Посмотреть в работе можно тут http://rezerv.yukastudio.ru/ - калькулятор расчета займа. Собственно, проблема в том, что он считает сумму, если двигать верхний ползунок, при передвижении нижнего в поле, где должно отображаться значение суммы, отображается NaN. Причем самое интересное, если убрать форматирование верхнего поля у первого ползунка

document.cl_form.amount.value = document.cl_form.amount.value.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');


эта строка, все прекрасно работает.

Кто-нибудь в курсе, как решить эту проблему, или где я накосячил?
Ответить с цитированием