【发布时间】:2017-10-09 14:22:47
【问题描述】:
我正在编写一些 jquery 来处理我的 KendoUI Widgets for MVC 提供的值。我一直在关注他们自己的文档,但我遇到了以undefined 返回的小部件的问题。我首先查看的是他们的故障排除,他们要求您确认所有脚本的顺序正确,并且没有对 jQuery 的重复引用。我已经这样做了,但仍然遇到问题。
小部件以undefined 返回的问题似乎仅限于剑道日期/时间选择器。
这是使用 Razor 视图在 HTML 中定义的小部件。
@(Html.Kendo().DateTimePicker()
.Name("estDept")
.Value(DateTime.Now))
我有一个在页面加载和按下特定按钮时运行的函数。获取值的代码如下:
function voyageTime() {
var estDeparture = $("#estDept").data("kendoDateTimePicker");
console.log(estDeparture.value());
};
当您第一次加载页面时,此代码可以正常工作,但如果您刷新,您会收到一条错误消息,指出 estDeparture is undefined。我尝试将代码添加到文档就绪函数$(function(){ ... });,它确实有效,但它不是我希望它存在的地方。因此,为了测试,我将文档中的小部件定义为一个全局变量,如下所示:
$(function(){
//I missed out var to define a global scope
estDeparture = $("#estDept").data("kendoDateTimePicker");
console.log(estDeparture.value());
});
当我从我的函数访问上述全局变量时,我得到了同样的未定义错误,就像它无法将它传递给静态函数一样。
我在这里做错了什么,为什么定义的小部件总是返回为未定义的?
【问题讨论】:
标签: jquery razor kendo-ui datetimepicker