Django индикатор автозаполнения: Select2 не показывает AJAX - обновлен выбранный текст опции - PullRequest
0 голосов
/ 10 января 2020

У меня есть поле DAL с атрибутом data-html и заполнено Select2QuerySetView::get_queryset(). Я переопределил get_result_label(). Для того же набора запросов результат get_result_label() может возвращать различные метки в зависимости от некоторых условий. Метки результатов выбираются правильно. Но после выбора параметра его текст, отображаемый в поле выбора, остается неизменным даже после его последующего изменения и повторно выбирается из раскрывающегося списка.

Чтобы продемонстрировать, вот несколько последовательных снимков экрана. Я возвращаю текущее время с get_result_label().

  1. Первоначальные результаты, выбирается первая опция.

Initial results, first option being selected.

Выбран первый вариант (17:42:08). Получены новые результаты.

First option selected (17:42:08). New results fetched.

Второй вариант выбран в 17:42:29. Показано правильно в коробке. Получены новые результаты.

Second option selected at 17:42:29. Shown correctly in box. New results fetched.

Первый вариант с обновленным текстом (17:42:56) выбран снова. Но в окне все равно отображается исходный текст (17:42:08).

First option with updated text (17:42:56) selected again. But in the box it still shows the original text (17:42:08).

Я что-то упустил? Или есть обходной путь в DAL или Select2 ?

1 Ответ

0 голосов
/ 12 января 2020

Отвечая на собственный вопрос: После проб и ошибок обнаружил, что очистка события HTML in select2:selecting, похоже, работает.

$(('#my_select2_id').on('select2:selecting', function(e) {
    $('#' + this.id).html('');
});

Не уверен, если это хотя это правильный путь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...