2013-02-21 2 views
0

У меня есть датпикер на 2 полях: Дата начала и окончания. После выбора даты начала, дата даты datepicker обновляет параметры минимальной и максимальной даты, а также параметр yearRange.JQuery Datepicker выпадающее меню на год только показ один год

Если я выберу 29/12/2013, пользователь может выбрать только 10 дней отсюда на дату окончания.

Итак, я открываю datepicker для конечной даты, у которой есть годRange of 2013: 2014, а опция changeYear установлена ​​в true.

Но год выпадающего списка только для отображения 2013. 2014 нет в списке.

Если я нажму на стрелку вправо (далее) даты, чтобы перейти к следующему году, она переместится на 2014 год, а затем, если я нажму на раскрывающийся список года 2014, теперь отображается.

$ ("# EndDate"). Datepicker ("option", "yearRange", '2013: 2014');

Если вы поставили предупреждение перед этим кодом, то выпадающий список за год показывает как 2013, так и 2014 года, как и ожидалось.

Я использую JQuery 1.4.4

ответ

1

This question, кажется, решить ту же проблему. Похоже, что у вас может не быть правильного формата для указания диапазона дат.

+0

Я считаю, что это правильный формат для yearRange от чтения документации JQuery. Если нет, может ли кто-нибудь сказать мне правильный формат и почему он появляется, если я поставил предупреждение перед показом кода в моем вопросе .... – user1079925

+1

Вы даже посмотрели ссылку, которую я предоставил? –

+0

@Johnathan Wood - я прочитал вопрос, который вы выделили. Тем не менее, я использовал форматы, указанные в документации, и выпадающий год не обновляется. Однако, если я включу оповещение, выпадающий год будет содержать правильные годы. – user1079925

0

Найдено решение:

Оригинальный код был установкой опции changeYear к истинным, прежде чем изменять параметр yearRange - это не будет показывать диапазон обновления в списке год:

$("#EndDate").datepicker("option", "changeYear", true); 
$("#EndDate").datepicker("option", "yearRange", yearRange); 

Размещение changeYear код опции после варианта yearRange решил проблему. Теперь дроссель отображает диапазон лет, как ожидалось. Таким образом, упорядочение имеет важное значение.

$("#EndDate").datepicker("option", "yearRange", yearRange); 
    $("#EndDate").datepicker("option", "changeYear", true); 
-1

Попробуйте это:

$(function() { 
     $("#txtDateofBirth").datepicker({ 

      changeYear: true, 
      dateFormat: 'dd/mm/yy', 
      yearRange: '1970:2025' 
     } 
     ); 
    }); 
Смежные вопросы