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
如果你想检查输入值是否已经改变,你可以使用改变事件 –