Как я могу сравнить значения даты / времени, используя jQueryUI datepicker и ввод времени HTML5?
Я хочу проверить, что пара "начало" даты / времени предшествует паре "конец" даты / времени на странице. Я использую указатель даты 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/)
... работает для сравнения значений datepicker, но мне нужно также включить элементы времени, чтобы время (в той же дате), которое было раньше в элементе времени "Конец", чем в элементе времени "Начало", также помечало диапазон как недействительный.
Как это сделать?
1 ответ
Вот подход. Вам необходимо проверить, совпадают ли даты, и затем добавить в них время к новым объектам дат, которые затем можно сравнить. (Там может быть более быстрый способ сделать это, но это работает в тестировании, здесь: 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;
}
}