Я много искал и не смог найти никакого решения. Итак, я изучил эти ( https://github.com/ejbeaty/CellEdit ) основные файлы JS.
Это доступно по этому пути ( https://github.com/ejbeaty/CellEdit/tree/master/js ).
И, наконец, я нашел решение этой проблемы.
В базовом файле JS они обрабатывали все типы ввода (текстовое поле, раскрывающийся список, поле даты) в функции getInputHtml.
Собственно, в этом плагине они написали код для 2-х типов выпадающих списков. Один с кнопкой подтверждения и отмены. Он называется 'list-confirm', а другой - '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;
Теперь мы можем просмотреть параметр поиска внутри раскрывающегося списка. пожалуйста, посмотрите на экран ниже,
![введите здесь описание изображения](https://i.stack.imgur.com/atELn.png)
person
jawahar N
schedule
28.04.2019