2009-11-25 57 views
1

我有几个关于thickboxes的问题。我正在开发一个网站,在主页上需要几个thickbox才能在不同的时间显示。当显示thickboxes时,它将触发一个API调用并在thickbox中显示反馈。如何正确使用我的应用程序中的thickboxes?

我决定去显示内联thickboxes以减少Ajax调用的数量。似乎很简单,但有几个问题出现。首先是当显示thickbox时,包含thickbox内容的div将被删除。 Thickbox用自定义HTML替换HTML以正确显示内容。这没问题,但是当我想让我的AJAX响应更新thickbox内的某些内容并且设置为通过选择它的容器ID来访问thickbox时,这是有问题的。这是不可用的。当然,我可以为响应指定唯一的标识符,但我只是希望给他们所有的类“响应”,并根据外部包含的DIV选择它们。 $("#login_lightbox > .response").html(ajax_response);这有道理吗?

我的另一个担心是,也许有更好的方法来处理thickboxes。我是否应该通过AJAX调用来获取thickbox内容,然后在加载时调用API?这对我来说似乎不是一个好选择,但是以前的开发者已经设置了这种方式,所以我希望能够对此有所了解。

回答

0

为了在 打开新的Ajax内容开放的Ajax ThickBox时,它的代码必须 还包含相应的HTML (类=“ThickBox的”)合作推出一个Ajax ThickBox时(参见例如演示)。

你可能想在http://jquery.com/demo/thickbox/#sectionf-1

在读&检查演示HTH

编辑:

嗨,Tony,上述适用于ThickBox的内新内容的链接,更不要打开一个Thickbox。去演示的网页上面,初始内容中包含的链接:

<p>What is jquery? <a href="newTBcontent.html?height=200&amp;width=300" class="thickbox">Answer</a></p> 

使内容加载到ThickBox的。

为了解决您的问题,当我执行以下操作时,它工作得很好。也许我误解了你的问题?

某处初始页:

<p><a href="atb.php?height=200&amp;width=300" class="thickbox">Open AJAX Thickbox</a></p> 

ThickBox的内容(文件 'atb.php'):

<script language="javascript" type="text/javascript"> 
jQuery(document).ready(function() 
{ 
    jQuery.ajax(
    { 
     type: "GET", 
     url: "atbd.php", 
     success: function(rsp) 
     { 
      jQuery(".response").html(rsp); 
     } 
    }); 
}); 
</script> 
<div id="container"> 
    <div class="response">RSP 1</div> 
    <div class="response">RSP 2</div> 
    <div class="response">RSP 3</div> 
    <div class="response">RSP 4</div> 
</div> 

文件 'atbd.php':

<?php 
echo date('Y-m-d H:i:s', time()); 
?> 
+0

这并未根本不回答这个问题。我知道如何显示thickbox – Tony 2009-11-26 15:55:19

相关问题