【发布时间】:2014-11-12 14:50:28
【问题描述】:
问题:
我有两个使用 trent richardson's datetimepicker 的 datetimepicker 元素
第一个元素选择开始日期/时间,第二个元素选择结束日期/时间。 当更改日期/时间时,我想检查开始事件是否仍然在结束事件之前。如果不是:datetimepicker 应该恢复到以前的值。
我的尝试
$("selector").datetimepicker(function(){
//other init values.
onSelect: function(){
var start = $("#startStamp").val();
var stop = $("#stopStamp").val();
if(calculateTimeDiff(start, stop) <= 0){
alert("Start time may not exceed end time");
$(this).datetimepicker("setDate",obj.lastVal);
}
}
}
calculateTimeDiff() 是一个返回开始日期和结束日期之间的毫秒数的函数。
会发生什么
如果为开始值选择的日期在结束值之后。然后一切都像预期的那样。该值被还原。
但是如果开始值和结束值都在同一日期,并且时间发生更改以超过结束值。然后将日期值设置为当前日期,并且根本不会重置时间值。如果在此之后关闭对话框,则不会向输入字段返回任何值。
当您更改日期和仅更改时间时,我都尝试过 console.log(obj)。 并发现仅更改时间时未设置 obj.lasVal 。 (我觉得有点奇怪)。
问题
我做错了什么或者可以通过其他方式完成吗?
【问题讨论】:
标签: jquery datetimepicker