我有下面的实用函数,它可以工作(很明显,它只能寻找5种类型的控件,但我只用了这个)。
util.getKendoControlType = function(controlId) {
let controlTypes = ['kendoAutoComplete','kendoMultiSelect','kendoDatePicker','kendoDropDownList','kendoNumericTextBox'];
for(let i = 0; i < controlTypes.length; i++) {
let control = $('#' + controlId).data(controlTypes[i]);
if (typeof(control) !== 'undefined' && control !== null) {
return controlTypes[i];
}
}
return null;
};
我的问题是:这是获取Kendo UI控件的控件类型的唯一方法,还是有更好的方法?
(注:我知道,我不返回null,也可以抛出一个错误)。
Sure! 使用 kendo.widgetInstance
:
util.getKendoControlType = function(controlId) {
return kendo.widgetInstance($(`#${controlId}`)).options.name;
}
你也可以得到 角色 数据属性。
util.getKendoControlType = function(controlId) {
return $(`#${controlId}`).data('role');
}