<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
我需要在 ID 为 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/
这个怎么样?
我已将标签替换为文本框,并为"时间"文本框添加了input
事件侦听器。每当在任何一个时间文本框中进行更改时,都会重新计算时间。
更新的小提琴
目录:
<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());
})