Всплывающие окна со сложной функциональностью с использованием jQuery - PullRequest
0 голосов
/ 26 февраля 2009

Я использую jQuery для имитации всплывающего окна, где пользователь выберет серию фильтров, которые я надеюсь использовать для повторного связывания ListView в исходном окне.

«Всплывающее окно» открывается с помощью ajax-запроса, а содержимое фактически является другим файлом aspx (визуализированный вывод вставляется в div, который действует как всплывающее окно).

У меня есть другое ListView в этом всплывающем окне, и оно имеет нумерацию страниц.

Моя проблема заключается в том, что, поскольку всплывающее окно в действительности представляет собой html-содержимое внутри элемента div на той же странице, при попытке разбивки на страницы вся страница откатывается назад и заменяется на aspx с фильтрами.

Как я могу это исправить? Я пытался использовать панель обновления, чтобы содержать ListView, но он не работал.

Ответы [ 3 ]

1 голос
/ 26 февраля 2009

Либо избавьтесь от «корочки» HTML и просто создайте

с его содержимым, либо используйте IFRAME.
1 голос
/ 26 февраля 2009

$ ( "div.yourthingie") скрыть ();.

Будет скрывать ту часть, которую вы хотите показать :) Вместо того, чтобы создавать всплывающее окно на лету, оставьте небольшую часть уже готовой и спрячьте ее в начале, когда вам нужно показать, показать и добавить необходимую информацию .

Надеюсь, это поможет

0 голосов
/ 27 февраля 2009

Сначала давайте подумаем, что происходит. Когда вы отправляете исходную страницу, вы отправляетесь в «обычный» запрос / ответ, чтобы получить код. На странице есть бит JQuery AJAX, который запускает то, что по сути является модальным диалогом. Желаемый эффект - пользователь играет с новой страницей, пока не выяснит свои фильтры и не отправит обратно. Проблема в том, что эта «модальная страница» теряет информацию, когда кто-то разбивает на страницы.

Теоретически это довольно простое решение. Вы должны сохранить «фильтры» на всплывающей странице, чтобы их можно было повторно отправить вместе с информацией о нумерации страниц. ИЛИ вы должны кэшировать набор результатов, пока пользователь разбивается на страницы.

Что бы я сделал, чтобы решить эту проблему, это создать статическую страницу с установленными «фильтрами» и обработать изгибы AJAX отдельно от отправки страницы обратно на родительскую страницу. После того, как все биты AJAX работают должным образом, я бы связал их с подпрограммой всплывающих окон и убедился, что разбиение на страницы по-прежнему не вызывает проблем. Последняя проблема - создание подпрограммы JavaScript, которая отправляет обратно на родительскую страницу и позволяет родительской странице отправлять свои биты JQuery обратно на сервер.

Я не уверен в части уравнения HTML DIV, и я думаю, что вы можете решить проблему без этого решения. На самом деле, я считаю, что вы можете создать «модальную всплывающую» страницу, не вызывая AJAX, если это возможно либо: а) отправить фильтры для применения через строку запроса, либо б) подделать форму, отправленную на вторую страницу Строка запроса является более простым вариантом, но она предоставляет некоторую информацию. Подделка формы для отправки не так уж сложна, но может вызвать проблемы с всплывающим окном.

Я просто воплощаю некоторые идеи, но надеюсь, что это что-то подстегнет для вас.

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