在点击时刷新div中的页面

时间:2012-03-24 20:30:57

标签: php javascript jquery html css

我正在玩我头顶的东西,但我拼命想学习。

我有一个管理页面,使用jquery我显示一个隐藏的div,里面显示另一个页面。

我是这样做的:

$(document).ready(function(){
  $("a#fadeoutblog").click(function(){
    $("#page").fadeTo("slow",0.25)
    $("#terms4").fadeIn("slow")
    $("#back2").fadeIn("slow")
    $("#terms4").load("blogpageload.php")
     }); });

因此,terms4是管理页面上的div,它显示页面blogpageload.php!

在此页面上有一个表格,显示一个非常简单的博客的所有帖子,'a'删除帖子标签和批准帖子'a'标签(只是将批准的列设置为数据库中的'Y') 。我想要的是当删除表中的帖子(或点击删除'a'标签)时,刷新此div中的页面。问题是当你点击删除'a'标签时,我们首先被发送到ammendblogdatabase.php页面,以便删除帖子!

我尝试过多种方法,但都有问题!

导致问题的主要部分是,要查看包含页面的div,用户必须首先单击另一个使用jquery停止'display:none;'的标记。

我不确定您可能需要查看哪些代码,但请询问....

这是包含删除按钮的表格单元格中的信息:

echo "<a id='refreshblog' href='deleteblogentry.php?username=".$usn."&timeleft=".$tml."'>Delete</a>";

谢谢!

1 个答案:

答案 0 :(得分:2)

您最有可能遇到的问题是绑定到“未来”元素(例如在页面上但尚未的元素)。要解决此问题,您可以使用.on()来避免这种情况。

$('#terms4').on('click','a',function(){
  // will bind to anchor elements in #terms4 at the time of execution
  // (most likely page ready) and look for future anchors added (in
  // the case of .load() completing)
});

从那里,您可以绑定自己的show / hide事件,也可以调用删除幕后条目的ajax方法,然后再次重新调用.load并刷新页面。