Php返回不带';行不通

Php返回不带';行不通,php,jquery,thickbox,echo,Php,Jquery,Thickbox,Echo,当我试图返回一个链接,从一个简单的php回音中拉出我页面上的一个thickbox时,我遇到了一点问题。基本上我所拥有的是: 包含以下语句的页面: <?php include ("display_header.php"); ?> 每个include语句都指向一个php文件,当用户单击链接文本时,该文件会提取一个简短的查询,并使用锚引用回显一个链接,以打开一个内联的thickbox(带有表单),如: echo "<a href='#TB_inline?height=

当我试图返回一个链接,从一个简单的php回音中拉出我页面上的一个thickbox时,我遇到了一点问题。基本上我所拥有的是:

包含以下语句的页面:

<?php 
    include ("display_header.php");
?>

每个include语句都指向一个php文件,当用户单击链接文本时,该文件会提取一个简短的查询,并使用锚引用回显一个链接,以打开一个内联的thickbox(带有表单),如:

echo "<a href='#TB_inline?height=265&width=225&inlineId=header_change' class='thickbox' style='text-decoration:none; color:#990000'>";
echo "Query Result etc";
echo "</a>";
echo”“;
因此,当用户单击页面上的链接时,应该会弹出一个带有表单的thickbox。用户输入对给定部分的更改,单击submit,jQueryAjax发布表单并使用include语句重新加载div以显示更改

这在第一次加载页面时起作用,但是一旦我提交表单并再次尝试单击返回的链接,就什么也没有发生。如果在div的周围有一个包含include语句的链接,这似乎是可行的(这不是什么大不了的事情),但是如果在包含的php语句中有这个链接,我就是不明白为什么这不可行


有人能提供一些指导吗?我知道这里有很多才华横溢的人,我可能只是不理解一些非常基本的东西。谢谢

您需要使用将thickbox绑定到链接。比如:

$("a.thickbox").live("click",function() {
    tb_init('a.thickbox');
});
这将防止启用thickbox的链接在通过ajax重新加载或注入后丢失与thickbox的绑定

您也可以在对$.ajax(或$.post或其他)方法的回调中执行此操作,例如:

$.ajax({
    type:       "GET",
    url:        "/ajax-content.php",
    cache:      false,
    data:       "f=foo&b=bar",
    loading:    $('.loading').html(''),
    success:    function(html) {
                    $('#ajaxContent').html(html);
                    //re-attach thickbox
                    tb_init('a.thickbox, area.thickbox, input.thickbox');
                }
});

听起来这是一个javascript问题,而不是php问题


在我看来,在页面加载时注册一个事件,一旦ajax事件完成,就不会重新注册该事件。不过,如果没有看到javascript,我就无法知道这一点。

太棒了,谢谢。关于jquery,我肯定有很多东西要学。