kendo.widgetInstance throws exception TypeError: t

2020-05-04 04:41发布

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);
    }
});

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

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
1条回答
淡お忘
2楼-- · 2020-05-04 05:25

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);

See it work: http://jsfiddle.net/lhoeppner/798Rd/

查看更多
登录 后发表回答