2013-04-18 2 views
0

Я пытаюсь проверить, является ли дата старше сегодняшней даты & показать ошибку, если true. То, что в настоящее время происходит, это если месяц меньше сегодняшнего месяца, ошибка отображается, даже если год установлен на 2014 год или далее. Например, сегодня это 4/18/2013, у которого нет ошибки, но 4/17/2014 & 17/7/2014 получить ошибки, но 17/7/2013 нет. Кажется, год игнорируется во время проверки. Надеюсь, что сделал мало смысл ...Пытается проверить jQuery UI Datepicker

$("#expDate").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     minDate: 0, 
     onClose: function(selectedDate) { 
      var currDate = $.datepicker.formatDate('mm/dd/yy', new Date()); 
      if (selectedDate < currDate) {    
       $("#warning").append("The number has expired"); 
      } else { 
       $("#warning").html(""); 
      } 
     } 
    }); 

ответ

1

Вы можете сделать это непосредственно с опцией MaxDate

$("#datepicker").datepicker({ maxDate: new Date() }); 
+0

Благодаря RafH, но когда я добавить, что она ограничивает выбор даты, чтобы только текущую дату. Мне нужно иметь все будущие даты. Я пытаюсь показать ошибку в прошлый срок. – Christine

+0

Вам просто нужно установить параметр minDate, например minDate: new Date (1900, 6, 2). Это позволит вам выбрать дату между 06-02-1900 и по сегодняшний день – RafH

+0

Это работает как раз наоборот, как мне это нужно. Это позволяет мне выбирать все дни в прошлом, и это дает ошибку, но это не позволяет делать какие-либо будущие даты, и это то, что мне нужно. Поле предназначено для даты истечения срока действия. Когда пользователь входит в систему, мне нужно показать, что дата истекла или была в прошлом, если они вводят ее вручную. – Christine