2014-03-28 7 views
2

에 정의되지 않은 :KendoUI을 DateTimePicker은 내가 MVC에서 검도 DateTimePicker 컨트롤 (asp.net) 내가 document.ready()에서 액세스를 시도하고 부분보기가 document.ready

@(Html.Kendo().DateTimePickerFor(vvm => vvm.StartTime) 
        .Name("dtpVisitStart") 
        .Format("yyyy/MM/dd HH:mm tt") 
        .TimeFormat("HH:mm:tt") 
        .Events(e => e.Change("dtpVisitStart_Change") 
           )        
) 

자바 스크립트 :

$(document).ready(function() { 
    TestDTP(); 
}); 

function TestDTP() { 
    var dtp = $("#dtpVisitStart").getKendoDateTimePicker(); 
    debugger; 
} 

디버거 라인이 실행될 때 dtp는 정의되지 않습니다. 부분 뷰가로드 될 때이 날짜 시간 선택기를 초기화하는 방법은 무엇입니까?

답변

0

위젯 초기화 코드 (also see this section of the docs) 아래에 있습니다.

위젯을 @(Html.Kendo() 섹션 위에 놓으면 위젯 초기화 코드가 jQuery 준비 블록에도 래핑되고 다양한 준비 블록이 순차적으로 실행되므로 위젯이 초기화되기 전에 TestDTP이 실행됩니다.

0

나는 보통 인스턴스 얻기 위해 이것을 사용 :

VAR DTP = $ ('#의 dtpVisitStart')를 데이터 ('kendoDateTimePicker을');. 적어도 당신이 페이지 하단의 준비 블록을 넣어 경우

function TestDTP() { 
    $("#dtpVisitStart").kendoDateTimePicker({ 
     format: "MM/dd/yyyy HH:mm tt", 
     timeFormat: "HH:mm", 
     change: dtpVisitStart_Change, 
     value: "@(startTime)" 
    }); 
    var dtp = $("#dtpVisitStart").getKendoDateTimePicker(); 
    debugger; 
} 
+0

나는 믿는다 * 나는 그것을 얻고 있고 너는 기본적으로 똑같은 방식이다. 내 코드는 document.ready에서 벗어난 것으로 작동하지만 내부에서는 없습니다. –

4

는 원래 접근 방식은 작동합니다, 또는 : 나는 순수 자바 스크립트에서있는 DateTimePicker를 초기화하는 일을 끝내었고, 면도칼 버전을 도랑을 무엇