Событие выбора Kendo MultiColumnComboBox иногда не запускается после выбора элементаJquery

Программирование на jquery
Ответить
Anonymous
 Событие выбора Kendo MultiColumnComboBox иногда не запускается после выбора элемента

Сообщение Anonymous »

У меня возникла проблема с Kendo MultiColumnComboBox, из-за которой событие select не запускается время от времени.
  • Компонент: Kendo jQuery MultiColumnComboBox
  • Опция: serverFiltering: true
  • Признак: после выбора элемент, в том же или аналогичном сценарии событие select периодически не срабатывает.
Согласно официальному отзыву Kendo, о подобной проблеме сообщалось в сопоставимой среде (см. [отчет об ошибке][1]).
// Minimal reproducible example for Stack Overflow
// Kendo MultiColumnComboBox: select event sometimes not firing (serverFiltering: true)

$("#productSearch").kendoMultiColumnComboBox({
dataTextField: "productName",
dataValueField: "productSku",
valuePrimitive: true,
filter: "contains",
autoBind: false,
minLength: 2,
clearButton: false,
placeholder: "품목코드 입력",
columns: [
{ field: "productSku", title: "품목코드", width: 200 },
{ field: "productName", title: "품목명", width: 220 }
],
dataSource: {
serverFiltering: true,
serverPaging: true,
serverSorting: true,
pageSize: 20,
transport: {
read: function (options) {
// --- SIMPLIFIED: extract keyword from filter ------------------------
const d = options.data || {};
let keyword = "";

if (d.filter && Array.isArray(d.filter.filters) && d.filter.filters.length) {
keyword = d.filter.filters[0].value || "";
}

if (!keyword) {
// no keyword → empty result
return options.success({ items: [], total: 0 });
}

// --- REPLACE THIS WITH YOUR REAL AJAX CALL -------------------------
// This is just a fake async call to simulate serverFiltering
setTimeout(function () {
const allItems = [
{ id: 1, productSku: "SKU001", productName: "Test Product A" },
{ id: 2, productSku: "SKU002", productName: "Test Product B" },
{ id: 3, productSku: "SKU003", productName: "Another Product C" }
];

const filtered = allItems.filter(item =>
item.productSku.includes(keyword) ||
item.productName.includes(keyword)
);

options.success({
items: filtered,
total: filtered.length
});
}, 200);
}
},
schema: {
model: { id: "id" },
data: d => d.items || [],
total: d => d.total || 0
}
},

// --- Problem: this 'select' is sometimes NOT fired -----------------------
select: function (e) {
const item = this.dataItem(e.item);
console.log("[select]", item);

// In real code, I show a 'yellow box' here based on the selected item.
},

change: function (e) {
const val = this.value();
console.log("[change]", val);

if (!val) {
// In real code, I hide the 'yellow box' and clear hidden fields.
}
}
});

Does anyone know if this is a known issue with this widget, or if I’m missing something in the configuration?

[1]: https://[1]:%20https://feedback.telerik.com/kendo-jquery-ui/1543851-select-event-not-fired-when-clicking-on-an-already-selected-combobox-multicolumncombobox-item


Подробнее здесь: https://stackoverflow.com/questions/798 ... tem-select
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»