【问题标题】:Making a page within a div refresh on a click单击时刷新 div 中的页面
【发布时间】:2012-03-24 20:30:57
【问题描述】:

我在头顶上玩东西,但我拼命学习。

我有一个管理页面,使用 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 来停止“显示:无”的标签。

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

这是带有删除按钮的表格单元格中的信息:

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

谢谢!

【问题讨论】:

  • 阅读这篇文章 - 我想你正在寻找某种形式的部分刷新,但这个链接应该会有所帮助:stackoverflow.com/questions/932777/…欢呼!
  • 据我了解,您没有使用 ajax 删除帖子,只需使用 ajax 进行删除过程并再次成功刷新表即可。

标签: php javascript jquery html css


【解决方案1】:

您最有可能遇到的问题是绑定到“未来”元素(例如,在页面上,但还没有的元素)。为了克服这个问题,您可以使用.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)
});

从那里,您可以绑定自己的显示/隐藏事件,或者调用删除幕后条目的 ajax 方法,然后再次调用 .load 并刷新页面。

【讨论】:

  • 不应该aon() 调用的选择器中:$('#terms4').on('click','a',function(){ /*...stuff...*/ });
  • @DavidThomas:好电话。这很有趣,我脑子里全都想好了,然后分心了,试图重新完成我的想法。谢谢,很好看。 ;-)
  • 不用担心,当我发现类似的东西时,我倾向于认为 jQuery 有一个我尚未领会的超级秘密用法...... =D 和 +1 的答案!跨度>
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 2016-09-26
  • 2014-04-10
  • 2015-07-05
  • 1970-01-01
  • 2013-10-10
  • 2016-01-27
  • 2012-02-29
相关资源
最近更新 更多