Моя цель: переназначить существующие элементы формы Filterrific в моем приложении ROR, чтобы воспользоваться преимуществами функций select2
Мой прогресс:
Шаг 1 - Добавить класс 'select2' для просмотра формы страницы индекса Singleполе элемента select - завершено.
Шаг 2. Создание экземпляра объекта select2 в моем документе сценария кофе с папкой активов, указание моей темы, языка и иногда добавление текста-заполнителя - завершено
$('#filterrific_with_group_id').select2({
theme: 'bootstrap',
language: 'en',
width: '100%'
});
Тест 1 - Запустить просмотр в браузере - завершено, поля ведут себя как положено.Тест 2 - Выберите элемент из результатов поиска и отойдите от страницы индекса, вернитесь назад с помощью кнопки «Назад» в браузере - завершено
Теперь отображаются два поля поиска, а DOM показывает два элемента диапазона под элементом поиска
- В одном содержится мое ранее выбранное значение - это поле отключено
- Два - это недавно созданная версия моего поля выбора - оно включено, но операция поиска работает не так, как ожидалось.
Шаг 3 - Вставьте условный оператор в мой документ сценария кофе, чтобы выполнить следующее:
Прежде чем создавать экземпляр моего класса select2, изучите элемент выбора DOM, проверивдля существования класса 'select2-hidden-available'
Если найдено, выполните .select2 ('destroy'), который удаляет один из элементов span ниже поискового элемента
if $('#filterrific_with_group_id').hasClass('select2-hidden-accessible'))
$('#filterrific_with_group_id').select2('destroy')
Продолжить создание экземпляра объекта select2 в обычном режиме.
Тест 3 - повторить тесты 1 и 2 и посмотреть результаты
Моя индексная страница больше не содержит двух полей поиска и диапазонав том, что осталось, содержится мой исходный выбор, как требуется.
Однако элемент отключается до тех пор, пока страница индекса не обновляется с нуля, стирая мой исходный выбор.Это не тот результат, которого я пытаюсь достичь.Мой желаемый результат состоит в том, что поле select2 остается активным и функционирует, как и ожидалось, с исходным выбранным значением, даже после перехода от страницы индекса и возврата.
Я пробовал различные способы повторной инициализации, уничтожения и воссоздания элемента и попытки восстановить связь между элементом select и контейнером span с данными выбора, но все безуспешно.
Пожалуйста, будь моим новым взглядом и направь меня в правильном направлении.К сожалению, я не могу опубликовать код, потому что я занимаюсь разработкой на машине с сильно ограниченными правами сети.Надеюсь, я достаточно хорошо описал сценарий, чтобы кто-то мог его понять.