2016-01-03 6 views
0
<input type ="text" name="txt1" class="cl_tot_st"> 

<input type ="text" name="txt5" class="cl_tot_st"> 

<input type ="text" id="gtot_st"> 

мне нужна сумма часов, что я вхожу в текстовых полях, которые находятся в общих именах классов cl_tot_st мне нужен результат в текстовом поле, идентификатор идентификатор gtot_st Я использовал этот функция для получения результата. Но ничего не происходит, когда я запускаю код.Добавления часов, чтобы получить общее количество часов, как результат

function grand_total(){ 
    var t1 = "00.00"; 
    var mins = 0; 
    var hrs = 0; 
    $(".cl_tot_st").each(function() { 
     t1 = t1.split('.'); 
     var t2 = $(this).val().split('.'); 
     console.log(Number(t1[1]) + Number(t2[1])) 
     mins = Number(t1[1]) + Number(t2[1]); 
     minhrs = Math.floor(parseInt(mins/60)); 
     hrs = Number(t1[0]) + Number(t2[0]) + minhrs; 
     mins = mins % 60; 
     t1 = hrs.padDigit() + '.' + mins.padDigit() 
     console.log(t1) 
    }); 
    $('#gtot_st').text(t1); 
}; 

я нашел этот код здесь http://jsfiddle.net/7ov9hL8k/

+0

Как запустить 'grand_total()'? –

+0

добавьте 'onclick = grand_total()' так, чтобы функция работала. – orvi

+0

, но мне это нужно, как если бы я ввел значение в одном текстовом поле, грантовое устройство автоматически появится в текстовом поле gtot_st –

ответ

0

Как об этом ?:

Я заменил ярлык с текстовым полем, и я добавил слушатель input события для " времени ". Всякий раз, когда вы вносите изменения в любые текстовые поля времени, время будет пересчитываться.

Updated Fiddle

Html:

<input id="time1" value="1.45" size="5" class="time">Time 1 
<br> 
<input id="time2" value="1.30" size="5" class="time">Time 2 
<br> 
<input id="time2" value="1.32" size="5" class="time">Time 3 
<br> 
<input id="time2" value="5.30" size="5" class="time">Time 4 

<br><button id="addTimes">Add times</button> 
<br><br>Result<span id="timeSum"><input type ="text" id="gtot_st"></span> 

<br> 

Javascript/JQuery

Number.prototype.padDigit = function() { 
    return (this < 10) ? '0' + this : this; 
} 

function CalculateTotal() { 
    var t1 = "00.00"; 
    var mins = 0; 
    var hrs = 0; 
    $('input.time').each(function() { 
    t1 = t1.split('.'); 
    var t2 = $(this).val().split('.'); 
    console.log(Number(t1[1]) + Number(t2[1])) 
    mins = Number(t1[1]) + Number(t2[1]); 
    minhrs = Math.floor(parseInt(mins/60)); 
    hrs = Number(t1[0]) + Number(t2[0]) + minhrs; 
    mins = mins % 60; 
    t1 = hrs.padDigit() + '.' + mins.padDigit() 
    console.log(t1); 
    }); 
    return t1; 
} 

$("#addTimes").on('click', function() { 
    $('#gtot_st').val(CalculateTotal()); 
}); 

//Check for an input change on any one of the text boxes with a class of "time" 
$(".time").on('input', function() { 
    $('#gtot_st').val(CalculateTotal()); 
}) 
+0

Могу я использовать '.' вместо ':' ? –