我正在尝试使用kendo.widgetInstance()来获取剑道控件的实例:
$.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未定义。
此代码改编自以下页面:
http://docs.kendoui.com/getting-started/widgets#getting-reference-to-an-unknown-kendo-ui-widget
使用2013.2.918版本。
这是获取kendo小部件实例的正确方法吗?我想要做的就是禁用表单中的所有kendo小部件,有几种不同的类型,但我不知道它们有多少或类型。
更新以显示禁用kendo控件的正确方法以及适用于我的最终代码。
答案 0 :(得分:2)
文档不正确,至少对于此版本的Kendo UI而言。 kendo.widgetInstance
需要第二个参数(documentation当前声明此参数是可选的)。根据您使用的是Web还是Mobile,必要的参数为kendo.ui
或kendo.mobile.ui
。所以你需要将你的电话改为:
var widgetObject = kendo.widgetInstance(widgetElement, kendo.ui);
看到它的工作原理: http://jsfiddle.net/lhoeppner/798Rd/