3
現在我有一個項目,計算startTime
,EndTime
-breakTime
。 並將其顯示到WorkedHours
字段中。更改值更改後的Javascript
我有一個時間選擇器選擇的時候,但我的計算腳本運行這麼想的後,我改變了值。它在我進入文本框時運行。 所以如果我要改變這樣的:
它不會更新Tid Jobbad
直到我踏進相同的文本框一次。每當價值變化時,我如何讓它調用函數?
這是腳本:
$(function() {
$('#breakTime,#startTime,#endTime')
.blur(CalculateTime);
CalculateTime();
});
function CalculateTime() {
try {
var originalStartTime = $('#startTime').val(),
originalEndTime = $('#endTime').val(),
originalBreakTime = $('#breakTime').val();
// breaking hours and minutes. needed format: HH:mm
var startHours = originalStartTime.substring(0, 2).replace(':', ''),
startMinutes = originalStartTime.substring(3, 5),
endHours = originalEndTime.substring(0, 2).replace(':', ''),
endMinutes = originalEndTime.substring(3, 5);
// momentJs variables
var mStart = moment().hour(startHours).minute(startMinutes),
mEnd = moment().hour(endHours).minute(endMinutes),
mBreak = moment.duration(originalBreakTime);
var result = mEnd.subtract(mStart).subtract(mBreak).format('HH:mm');
$('#workedHours').val(result);
} catch (err) {
$('#workedHours').val(err);
}
}
你能共享一個小提琴? – Araknid
任何關係? http://stackoverflow.com/questions/32498475/javascript-momentjs-wrong-output/32498746#32498746 – Jamiec
如果你想檢查輸入值是否已經改變,你可以使用改變事件 –