2013-04-25 2 views
1

나는 Telerik MVC DatePicker에서이 비활성화 : 최대 속성을 설정하여Telerik MVC DatePicker에서 앞으로 모든 날짜

<%: Html.Telerik().DatePickerFor(model => model.Date) 
         .TodayButton() 
         .Max(DateTime.Now) 
         .HtmlAttributes(new { @onkeypress = "return allowNumbersWithDot(event);", @onpaste = "return false;" }) 
         %> 

을, 나는 날짜는 현재 날짜까지 얻고 미래의 모든 날짜가 숨겨져 있습니다. 내가 무엇인지, 현재 날짜까지 모든 날짜를 활성화하고 모든 미래 날짜를 비활성화하십시오. 즉 사용자는 모든 날짜를 볼 수 있지만 현재 날짜까지만 선택할 수 있습니다.

+0

이러한 목적으로 유효성 검사를 사용하는 것이 좋습니다. –

답변

2

Max 속성은 값 설정 후 모든 날짜의 선택 및 모양을 차단합니다. 이 문제를 얻으려면, 같은 클라이언트 이벤트 핸들러와 DatePicker에서 포맷을 시도 :

@Html.Telerik().DatePickerFor(model => model.Date).ClientEvents(e => e.OnChange("onChange")) 

다음이 같은 것을 사용하여 유효성 검사를 추가

function onChange(e) { 
    var endDate = new Date(); // Your specific date 
    if (e.value > endDate) { 
     if (e.previousValue === null) { 
      $(this).data("tDatePicker").value(null); 
     } 
     e.preventDefault(); 
    } 
} 
이 기술에 대한

자세한 정보는에서 찾을 수 있습니다 Telerik 지원 포럼 : http://www.telerik.com/community/forums/aspnet-mvc/datepicker/datepicker---prevent-future-date-selection.aspx

+0

Jeff에게 감사드립니다. 이것은 내가 찾고 있었던 것이다. – Nitish

+0

발견 된 쉬운 해결책. 나는 telerik.calender.min.js와 telerik.datePicker.min.js를 스크립트 폴더의 telerik.calender.js와 telerik.datePicker.js로 대체했다. 그런 다음 최대 날짜를 설정하십시오. 위와 똑같은 방식으로 작동합니다. – Nitish

0

최소 날짜 : 사용자가 선택할 수있는 최소 날짜를 설정하는 데 사용합니다.

<%= Html.Telerik().DatePicker() 
        .Name("DatePicker") 
        .MinDate(new DateTime(1900,1,1))) 
%> 

최대 날짜 : 사용자가 선택할 수있는 가장 큰 날짜를 설정하는 데 사용하십시오.

<%= Html.Telerik().DatePicker() 
        .Name("DatePicker") 
        .MaxDate(new DateTime(2100,1,1))) 
%> 

행운을 비네!