Я много искал и не мог найти решение. Итак, я изучил этот (https://github.com/ejbeaty/CellEdit) основной файл JS.
Доступно по этому пути (https://github.com/ejbeaty/CellEdit/tree/master/js).
И, наконец, я нашел решение этой проблемы.
В Core JS-файле они обрабатывали все типы ввода (текстовое поле, раскрывающийся список, поле даты) в функции 'getInputHtml' .
На самом деле, в этом плагине они написали код для 2 типов выпадающего списка. Один с кнопкой подтверждения и отмены, это называется 'list-verify' , а другой - 'list' без каких-либо кнопок. Он автоматически обрабатывается onChange.
Итак, в этой функции getInputHtml они написали регистр переключения для обоих типов выпадающих списков.
- дело "список-подтверждение"
- кейс "список"
Чтобы интегрировать плагин select2, нам нужно сделать следующее:
Необходимо добавить имя класса в нашем раскрывающемся списке, например select class="myselect"
Нужно добавить этот код ниже внутри скрипта,
$(".myselect").select2();
Если вам нужно выпадающее меню с опцией поиска. Пожалуйста, замените мой код ниже вместо старого кода в основном файле JS,
1. дело "список-подтверждение":
case "list-confirm": // List w/ confirm
input.html = startWrapperHtml + "<select class='myselect " + inputCss + "'>";
$.each(inputSetting.options, function (index, option) {
if (oldValue == option.value) {
input.html = input.html + "<option value='" + option.value + "' selected>" + option.display + "</option>"
} else {
input.html = input.html + "<option value='" + option.value + "' >" + option.display + "</option>"
}
});
setTimeout(function () {
$(".myselect").select2();
},100);
input.html = input.html + "</select> <a href='javascript:void(0);' class='" + confirmCss + "' onclick='$(this).updateEditableCell(this);'>Confirm</a> <a href='javascript:void(0);' class='" + cancelCss + "' onclick='$(this).cancelEditableCell(this)'>Cancel</a>" + endWrapperHtml;
input.focus = false;
break;
2. кейс "список":
case "list":
input.html = startWrapperHtml + "<select class='myselect" + inputCss + "' onchange='$(this).updateEditableCell(this);'>";
$.each(inputSetting.options, function (index, option) {
if (oldValue == option.value) {
input.html = input.html + "<option value='" + option.value + "' selected>" + option.display + "</option>"
} else {
input.html = input.html + "<option value='" + option.value + "' >" + option.display + "</option>"
}
});
setTimeout(function () {
$(".myselect").select2();
},100);
input.html = input.html + "</select>" + endWrapperHtml;
input.focus = false;
break;
Теперь мы можем просматривать параметры поиска внутри выпадающего меню. пожалуйста, см. ниже экран,