Расширьте Kendo MultiSelect
Я пытаюсь создать новый виджет с множественным выбором кендо, расширяя существующий. Цель состоит в том, чтобы показать список тегов в div под входом.
Моя цель в этом коде состоит в том, чтобы отобразить список тегов в отдельном элементе div для события select виджета, а затем вернуть событие select базового виджета (Kendo MultiSelect), но событие select базового виджета возвращает 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);
1 ответ
Решение
Я проверил код и сначала получил и ошибка - "это не определено". После добавления var that = this; в методе _select я заметил, что вы должны добавить 'that' в качестве первого параметра к функции вызова. Вот код, который работал правильно на моей стороне - https://dojo.telerik.com/@zdravkov/ApOVApiV