我正在写一些jquery来处理我的KendoUI Widgets for MVC提供的值。我一直在关注他们自己的文档,但是我遇到的问题返回为undefined
。我查看的第一个地方是他们的故障排除,他们要求你将所有的脚本按照正确的顺序进行配置,并且没有重复的jQuery引用。我已经这样做了,但仍然遇到问题。为什么我的KendoUI Widget被返回为undefined?
作为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(){ ... });
,该功能可以工作,但它不是我想要它生活的地方。因此,为了测试我的文档定义的widget准备就绪像这样的全局变量:
$(function(){
//I missed out var to define a global scope
estDeparture = $("#estDept").data("kendoDateTimePicker");
console.log(estDeparture.value());
});
当我从我的函数访问上面的全局变量我得到同样的未定义的错误,喜欢的话可以不把它传递给一个静态函数。
我在这里做了什么错误,为什么定义的小部件总是返回undefined?