jQuery - 当$ .post()为true时刷新div

时间:2012-03-08 20:28:12

标签: jquery

我正在尝试在删除帖子后让我的jQuery代码刷新div。我的代码如下所示:

$.post('/includes/classes/handler.php?do=postDelete', { postId: $postId }, 
    function(data) {
        $('.globalWrapper').fadeOut('slow').load(this).fadeIn('slow');
    });

脚本删除完美,淡入/淡出,但窗口没有刷新。我已经看到你需要一个load()函数的文件。但是,有没有办法刷新div?那么我用来调用帖子的PHP脚本也会刷新吗?

更新

HTML:

<div class='postHolder'>
 <div class='postMain'>
  <div class='postContent'>

  </div><!-- postContent end -->
 </div><!-- postMain end -->

  <div id='postDelete'>Her is my delete div which i'm calling to delete a post.</div>

</div><!-- postHolder end -->

.postHolder是必须删除的div。

2 个答案:

答案 0 :(得分:2)

你是什么意思刷新div?你需要在div中抓住你想要的东西并使用get请求将它放在那里。 div不知道它来自哪里。您可以向div添加一个属性,以便知道它来自何处并使用它来刷新div。

如何,而不是重新加载div,只需执行post删除操作,然后从html中删除帖子。无需实际关闭并返回记录列表以刷新div。

使用这样的一些jquery删除帖子。

$(this).closest('div').remove();

答案 1 :(得分:1)

如果我正确理解了您的示例,则您将帖子的删除帖子发送到handler.php并尝试将this加载到globalWrapper。问题是this不是你想象的那样。尝试将其记录到控制台以查看它告诉您的内容。

如果您将有效资源(返回HTML的资源)传递到load(),它应该按预期工作。

[更新]更准确......有点像预期。你将函数链接起来的方式,你可能想象它会在资源加载后淡入,但我认为它不会(没有测试过)......它会在调用后淡入。淡入应该是加载成功处理程序的一部分。

[更新2]我根据您的书面要求假设您想要重新加载内容,但如果您真的只想删除它,我认为Valamas会为您带来更好的方向。