私は次のことができるコードを書こうとしています:
type="time"
行の 2 つの要素間の時間差 (HH:MM 形式) を計算します。- テキスト入力の合計差 (HH:MM 形式) を合計します。
イベントによって起動される関数を作成できましたonchange
が、関数は最初に入力された値のみを考慮しているため、タイミングを更新すると差が再計算され、合計が正しくなくなります。
最初の行を計算するための JavaScript コードは次のとおりです。
function CalTime0() {
var timeOfCall = $('#timefrom0').val(),
timeOfResponse = $('#timeto0').val(),
hours = timeOfResponse.split(':')[0] - timeOfCall.split(':')[0],
minutes = timeOfResponse.split(':')[1] - timeOfCall.split(':')[1],
total = $('#tbtotal').val(),
tothours = total.split(':')[0],
totminutes = total.split(':')[1];
minutes = minutes.toString().length<2?'0'+minutes:minutes;
totminutes = totminutes.toString().length<2?'0'+totminutes:totminutes;
if(minutes<0) {
hours--;
minutes = 60 + minutes;
}
hours = hours.toString().length<2?'0'+hours:hours;
tothours = tothours.toString().length<2?'0'+tothours:tothours;
tothours = parseInt(tothours) + parseInt(hours);
totminutes = parseInt(totminutes) + parseInt(minutes);
if(totminutes >= 60) {
tothours++;
totminutes = totminutes - 60;
}
$('#total0').val(hours + ':' + minutes);
$('#tbtotal').val(tothours + ':' + totminutes);
}