扩展 Kendo 多选
Extend Kendo MultiSelect
我正在尝试通过扩展现有的 kendo 多 select 小部件来创建一个新的小部件。目标是在输入下方的 div 中显示标签列表。
我在此代码中的目标是在小部件的 select 事件中在单独的 div 中呈现标签列表,然后 return select基本小部件的事件 (Kendo MultiSelect),但是基本小部件的 select 事件 return 是一个 dataItem undefind
错误。我做错了什么?
(function ($) {
var customMultiSelect = kendo.ui.MultiSelect.extend({
init: function (element, options) {
var that = this;
kendo.ui.MultiSelect.fn.init.call(that, element, options);
// Hide the tag list...
var id = that.element.attr('id');
that.wrapper.find(`ul#${id}_taglist`).addClass("hidden");
that.element.on("select", that._select);
},
options: {
name: "CustomMultiSelect"
},
_select: function (e) {
// code to render the tag list in a div goes here
that.trigger("select", e);
return kendo.ui.MultiSelect.prototype._select.call(e);
}
});
kendo.ui.plugin(customMultiSelect);
})(jQuery, document);
我已经测试了代码,起初遇到了错误 - 'that is not defined'。添加 var that = this; 之后在“_select”方法中,我注意到您必须添加 'that' 作为调用函数的第一个参数。这是在我这边正常工作的代码 - https://dojo.telerik.com/@zdravkov/ApOVApiV
我正在尝试通过扩展现有的 kendo 多 select 小部件来创建一个新的小部件。目标是在输入下方的 div 中显示标签列表。
我在此代码中的目标是在小部件的 select 事件中在单独的 div 中呈现标签列表,然后 return select基本小部件的事件 (Kendo MultiSelect),但是基本小部件的 select 事件 return 是一个 dataItem undefind
错误。我做错了什么?
(function ($) {
var customMultiSelect = kendo.ui.MultiSelect.extend({
init: function (element, options) {
var that = this;
kendo.ui.MultiSelect.fn.init.call(that, element, options);
// Hide the tag list...
var id = that.element.attr('id');
that.wrapper.find(`ul#${id}_taglist`).addClass("hidden");
that.element.on("select", that._select);
},
options: {
name: "CustomMultiSelect"
},
_select: function (e) {
// code to render the tag list in a div goes here
that.trigger("select", e);
return kendo.ui.MultiSelect.prototype._select.call(e);
}
});
kendo.ui.plugin(customMultiSelect);
})(jQuery, document);
我已经测试了代码,起初遇到了错误 - 'that is not defined'。添加 var that = this; 之后在“_select”方法中,我注意到您必须添加 'that' 作为调用函数的第一个参数。这是在我这边正常工作的代码 - https://dojo.telerik.com/@zdravkov/ApOVApiV