kendo.widgetInstance抛出异常TypeError:t未定义

时间:2013-11-19 01:14:02

标签: kendo-ui

我正在尝试使用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控件的正确方法以及适用于我的最终代码。

1 个答案:

答案 0 :(得分:2)

文档不正确,至少对于此版本的Kendo UI而言。 kendo.widgetInstance需要第二个参数(documentation当前声明此参数是可选的)。根据您使用的是Web还是Mobile,必要的参数为kendo.uikendo.mobile.ui。所以你需要将你的电话改为:

var widgetObject = kendo.widgetInstance(widgetElement, kendo.ui);

看到它的工作原理: http://jsfiddle.net/lhoeppner/798Rd/