jQuery模态和加载问题

时间:2010-07-17 23:18:21

标签: javascript jquery jquery-ui modal-dialog

我正在开发的Web应用程序中遇到jQuery dialogload的问题。
在搜索结果页面上,每个条目上都有一个链接,可以快速查看结果,触发一个模式对话框,使用jQuery加载检索和显示html内容。
一切都很好,我可以毫无问题地关闭和打开对话框。

我想在此对话框中添加一个功能,其底部有一个链接,该链接应该触发另一个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加载回调上添加警报('已执行'),每次调用函数时都会触发此警报,并且使用firebug我可以看到触发状态为200的ajax调用。

preview函数用于加载主预览;在主预览的底部有一个指向preview_see_more函数的链接,该链接应该添加html的另一部分(这实际上恰好在第一次创建主预览时发生)

任何提示?

修改
here搜索结果的示例 点击[Q],触发preview功能 我正在(仍然在我的测试机器上)在对话框底部添加一个应该触发preview_see_more功能的链接。

EDIT2:
here一个有证据问题的例子 点击第一个链接的[Q];然后点击“显示已接受的答案”..关闭对话框并再试一次。

1 个答案:

答案 0 :(得分: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'按钮时删除模态框