【发布时间】:2012-03-23 11:53:23
【问题描述】:
我在表单中有两个日期时间选择器来输入开始时间和结束时间。
开始时间的ID是“startTime”,结束时间的ID是“endTime”。
var startTime = document.getElementById("startTime");
var endTime = document.getElementById("endTime");
if (new Date(startTime.value).getTime() > new Date(endTime.value).getTime()) {
alert("End Time should be greater than Start Time");
return false;
}
我尝试比较开始时间和结束时间,并验证开始时间不应大于结束时间。
现在,我想写一个验证,这样结束时间应该至少比开始时间大 1 小时。
示例链接:DateTimePicker Example
$('#startTime').datetimepicker({
onClose: function(dateText, inst) {
var endDateTextBox = $('#endTime');
if (endDateTextBox.val() != '') {
var testStartDate = new Date(dateText);
var testEndDate = new Date(endDateTextBox.val());
if (testStartDate > testEndDate)
endDateTextBox.val(dateText);
}
else {
endDateTextBox.val(dateText);
}
},
onSelect: function (selectedDateTime){
var start = $(this).datetimepicker('getDate');
$('#endTime').datetimepicker('option', 'minDate', new Date(start.getTime()));
}
});
$('#endTime').datetimepicker({
onClose: function(dateText, inst) {
var startDateTextBox = $('#startTime');
if (startDateTextBox.val() != '') {
var testStartDate = new Date(startDateTextBox.val());
var testEndDate = new Date(dateText);
if (testStartDate > testEndDate)
startDateTextBox.val(dateText);
}
else {
startDateTextBox.val(dateText);
}
},
onSelect: function (selectedDateTime){
var end = $(this).datetimepicker('getDate');
$('#startTime').datetimepicker('option', 'maxDate', new Date(end.getTime()) );
}
});
我试过这个,开始时间和结束时间是一样的。但我不确定如何将结束时间增加 1 小时。
例如,如果开始时间值为 03-23-2012 10:00 AM,我希望结束时间为 03-23-2012 11:00 AM 有人可以帮我解决这个问题吗?
谢谢
【问题讨论】:
-
您正在使用允许时间的日期选择器?你用的是什么小部件?
-
哎呀!我忘了提,它是一个日期时间选择器。
-
你能提供那个插件的链接吗?
-
嗨,安德鲁,我现在已经包含在问题中了。
-
你用什么来验证?
标签: javascript jquery jquery-ui jquery-plugins jquery-ui-datepicker