#jquery #jquery-ui #combobox #jquery-autocomplete #eventtrigger
#jquery #jquery-пользовательский интерфейс #выпадающий список #jquery-автозаполнение #eventtrigger
Вопрос:
У меня есть виджет со списком автозаполнения jqueryui, в котором, как только пользователь выбирает что-то в выпадающем списке, обработчик события выбора в выпадающем списке выполняет вызов ajax для отображения содержимого в другом элементе div. НАПРИМЕР:
[поле со списком] > [div]
Div содержит содержимое, в котором пользователь может затем нажать «Отправить», чтобы перейти на другую страницу.
Я столкнулся с проблемой, при которой, если пользователь нажимает кнопку «Назад» ПОСЛЕ выбора в поле со списком, а затем щелкает в div, чтобы перейти на следующую страницу, в поле со списком отобразится последнее выбранное значение, но div отобразит значение в том виде, в каком оно былопервоначально отображался на странице до запроса ajax (который заполнял div динамическим содержимым). В результате отображаемое значение в выпадающем списке теперь несовместимо с отображаемым содержимым в div.
Решение этой проблемы требует, чтобы я запускал выбор определенного значения в выпадающем списке при первой загрузке страницы, чтобы был запущен обработчик события select в коде выпадающего списка автозаполнения jqueryui, который перезагрузит div.
Каков наилучший способ сделать это?
Ответ №1:
Вы можете сохранить выбранное значение в скрытом вводе и при загрузке страницы нарисовать содержимое div со значением в скрытом вводе (если есть)
Комментарии:
1. Осторожно, чувак, у тебя и так идеальное количество очков.
2. @Walkerneo: Извините, я не получил вашего комментария
3. У вас ровно 1337 баллов. Было бы стыдно создавать или терять что-либо на этом этапе. редактировать: да.
4. К сожалению, хотя я мог бы использовать javascript для записи содержимого в скрытый ввод, содержимое очищается после того, как я нажимаю на ссылку на странице, а затем нажимаю на кнопку «Назад». Единственное исключение — если я сделаю ввод type=text вместо type=hidden , но это работает только в Chrome, а не в firefox. Однако текст внутри ввода со списком, похоже, сохраняется даже при нажатии кнопки «Назад» как в Chrome, так и в Firefox. Как jqueryui это делает?
5. Я имел в виду, что выбранное значение combobox должно быть сохранено в скрытом вводе и для выполнения вызова ajax
document.ready
, если скрытый ввод имеет какое-либо значение. Но странно, что скрытый ввод не сохраняется, когда пользователь нажимает кнопку «Назад»! Хотели бы вы вообще опубликовать какой-либо код?