kendo.widgetInstance 抛出异常 TypeError: t is undefined [英] kendo.widgetInstance throws exception TypeError: t is undefined
问题描述
我正在尝试使用 kendo.widgetInstance() 来获取剑道控件的实例:
I'm trying to use kendo.widgetInstance() to get an instance of a kendo control:
$.each($('#AttributeForm').find(':input'), function(index, element) {
if ($(element).closest('.k-widget').length > 0) {
var widgetObject = kendo.widgetInstance($(element), kendo.ui);
if (typeof widgetObject != 'undefined') widgetObject.enable(false);
}
});
然而,kendo.widgetInstance() 函数总是抛出一个错误,TypeError: t is undefined.
However, the kendo.widgetInstance() function is always throwing an error, TypeError: t is undefined.
此代码改编自以下页面:
This code is adapted from the following page:
http://docs.kendoui.com/getting-started/widgets#getting-reference-to-an-unknown-kendo-ui-widget
使用 2013.2.918 版本.
Using the 2013.2.918 version.
这是获取剑道小部件实例的正确方法吗?我想要做的就是禁用表单中的所有剑道小部件,有几种不同的类型,但我不知道它们是多少或什么类型.
Is this the correct way to get an instance of a kendo widget? All I want to do is disable all the kendo widgets inside the form and there are several different types but I don't know how many or what type they are.
更新以显示禁用剑道控件的正确方法以及对我有用的最终代码.
Updated to show the correct way to disable a kendo control and the final code that worked for me.
推荐答案
文档不正确,至少对于此版本的 Kendo UI.kendo.widgetInstance
需要第二个参数(文档 当前声明此参数是可选的).根据您使用的是 Web 还是 Mobile,必要的参数是 kendo.ui
或 kendo.mobile.ui
.所以你需要把你的电话改成:
The documentation is incorrect, at least for this version of Kendo UI. kendo.widgetInstance
requires a second parameter (the documentation currently states this parameter is optional). Depending on whether you use Web or Mobile, the necessary parameter is kendo.ui
or kendo.mobile.ui
. So you need to change your call to:
var widgetObject = kendo.widgetInstance(widgetElement, kendo.ui);
看到它的工作:http://jsfiddle.net/lhoeppner/798Rd/
这篇关于kendo.widgetInstance 抛出异常 TypeError: t is undefined的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!