我在mvc(asp.net)局部视图中有一个Kendo DateTimePicker控件,我试图从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")
)
)
javascript:
$(document).ready(function () {
TestDTP();
});
function TestDTP() {
var dtp = $("#dtpVisitStart").getKendoDateTimePicker();
debugger;
}
当调试器行运行时,dtp未定义。如何在部分视图加载时初始化此日期时间选择器?
答案 0 :(得分:4)
如果您将就绪块放在页面底部,或至少低于窗口小部件初始化代码(also see this section of the docs),则原始方法应该有效。
如果将它放在@(Html.Kendo()
部分之上,TestDTP
将在窗口小部件初始化之前运行,因为窗口小部件初始化代码也包装在jQuery就绪块中(并且执行了各种就绪块)顺序地)。
答案 1 :(得分:0)
我通常使用它来获取实例:
var dtp = $('#dtpVisitStart')。data('kendoDateTimePicker');
答案 2 :(得分:0)
我最终做的是从纯javascript初始化datetimepicker并抛弃剃刀版本:
function TestDTP() {
$("#dtpVisitStart").kendoDateTimePicker({
format: "MM/dd/yyyy HH:mm tt",
timeFormat: "HH:mm",
change: dtpVisitStart_Change,
value: "@(startTime)"
});
var dtp = $("#dtpVisitStart").getKendoDateTimePicker();
debugger;
}