jQuery модальный и проблема загрузки

У меня проблема с jQuery dialog а также load на веб-приложении я разрабатываю.
На странице результатов поиска, на каждую запись у меня есть ссылка, которая дает быстрый просмотр результата, запускает модальное диалоговое окно, которое извлекает и показывает html-контент, используя загрузку jQuery.
Все отлично работает, и я могу без проблем закрывать и открывать диалоги.

Я хотел бы добавить функцию в это диалоговое окно со ссылкой внизу, которая должна вызвать другой JQuery load показывая еще одну крошечную часть HTML.

Эта функция работает только в первый раз; Когда я закрываю диалоговое окно, выбирая другой предварительный просмотр, первая загрузка работает как обычно, но нажатие на ссылку ничего не показывает.

Это фрагмент моего кода:

function preview(question_id, service){
    var jQuerydialog = jQuery('<div>loading</div>');
    jQuerydialog.dialog({
     title: 'Preview',
     modal: true,
     jQuerydialog.load('/url...','', function (responseText, textStatus, XMLHttpRequest) {
    }
   );
  return false;
}

function preview_see_more(answer_id, service){
       jQuery('#see_more').append('<div>loading </div>').load('/url....','', function (responseText, textStatus, XMLHttpRequest) {
            alert('performed!')
      }
    );
return false;
}

Добавление оповещения ("выполнено") на preview_see_more load callback, это предупреждение выдается каждый раз, когда вызывается функция, и с помощью firebug я вижу вызов ajax, запущенный со статусом 200.

preview функция используется для загрузки основного превью; в нижней части основного окна предварительного просмотра есть ссылка на preview_see_more функция, которая должна добавить еще одну часть html (на самом деле это происходит только при первом создании предварительного просмотра)

Есть намеки?

РЕДАКТИРОВАТЬ:
вот пример результата поиска.
Нажав на [Q], preview функция срабатывает.
Я работаю (все еще на моей тестовой машине), чтобы добавить ссылку в нижней части диалогового окна, которая должна вызвать preview_see_more функция.

EDIT2:
вот пример с проблемой в доказательстве.
Нажмите на [Q] первой ссылки; затем нажмите "показать принятый ответ".. закройте диалоговое окно и попробуйте снова.

1 ответ

Решение

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

Изменить: я добавил это в код, и это сработало.

 function quicklook_accepted_answer(answer_id, service){
 jQuery('#accepted_answer_block :last').append('<div>loading <img src="/images/indicator.gif"/></div>').load('/quicklookanswer?answer='+ answer_id +'&service='+service,'', function (responseText, textStatus, XMLHttpRequest) {
 }
 );
 return false;
 } 

Но главная проблема в том, что существует много случаев создания модального всплывающего окна, что вы можете сделать, это удалить модальное окно при нажатии новой кнопки "Q"

Другие вопросы по тегам