我想验证页面上的“开始”日期/时间对早于“结束”日期/时间对。我正在使用 jQueryUI 日期选择器和 HTML5 时间输入元素/小部件。
这个 jQuery:
var begD = $.datepicker.parseDate('mm/dd/yy', $('#BeginDate').val());
var endD = $.datepicker.parseDate('mm/dd/yy', $('#EndDate').val());
if (begD > endD) {
alert('Begin date must be before End date');
$('#BeginDate').focus();
return false;
}
(在此处查看此脚本的上下文:http://jsfiddle.net/clayshannon/QCrXG/9/)
...适用于比较日期选择器值,但我也需要合并时间元素,以便“结束”时间元素中早于“开始”时间元素的时间(同一日期)也将被标记范围无效。
怎么做?
这是一个方法。您需要测试日期是否相同,然后在其中将时间附加到新的日期对象中,然后可以进行比较。 (可能有一种更快的方法来做到这一点,但这在测试中有效,在这里:http://jsfiddle.net/mori57/SEqVE/):
} else if(begD.toString() == endD.toString() ){
var dteString = begD.getFullYear() + "/" + (begD.getMonth()+1) + "/" + begD.getDate();
var begT = new Date(dteString + " " + $('#BeginTime').val());
var endT = new Date(dteString + " " + $('#EndTime').val());
if( begT > endT ){
alert('Begin date must be before End date');
$('#BeginTime').focus();
return false;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)