2012-07-27 3 views
0

레거시 웹 앱의 Datepickers를 여러 입력란에 추가했습니다. 이러한 텍스트 상자 중 하나가 만료 날짜 필드입니다. 사용자가 무언가가 만료되기를 원하지 않으면, 날짜를 12/31/9999로 설정합니다. 그런 이유로 Datepicker의 yearRange를 "2012 through 2022 and 9999"와 같게하고 싶습니다.jqueryUI DatePicker에 복잡한 날짜 범위를 추가하는 방법이 있습니까?

지금부터 9999까지 범위를 설정하기는 쉽지만, 수천 개의 옵션이있는 1 년 드롭 다운을 만듭니다. 차라리 10 년 동안 10 가지 옵션을 선택하고 9999에 대해 11 번째 옵션을 선택하십시오.

이 yearRange를 사용해 보았지만 Datepicker가 쉼표를 인식하지 못하는 것 같습니다. 어떤 아이디어?

yearRange: "-0:+10,9999" 

답변

0

this post의 도움을 사용하여, 나는 단지 나의 범위를 왼쪽 "-0 : 10"하고 나는이 같은 "결코"버튼을 추가 :

beforeShow: function(input) { 
    setTimeout(function() { 
     var buttonPane = $(input) 
      .datepicker("widget") 
      .find(".ui-datepicker-buttonpane"); 

     var btn = $('<BUTTON class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all">Never</BUTTON>'); 
     btn 
      .unbind("click") 
      .bind("click", function() { 
       $(input) 
        .datepicker("setDate", new Date(9999,11,31)) 
        .datepicker("hide"); 
      }); 

     btn.appendTo(buttonPane); 

    }, 1); 
} 

주 - 그것은이다 날짜 올바르게 표시하려면 12/31/9999로 가져 가야했습니다.

관련 문제