2012-03-24 100 views
1

我正在玩的东西在我的头上,但是拼命尝试学习。在点击区域内制作一个页面刷新点击

我有一个管理页面,使用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和它diplays页面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>"; 

谢谢!

+0

阅读此 - 我认为你正在寻找部分刷新的某种排序,但这个链接应该有所帮助:http://stackoverflow.com/questions/932777/jquery-reload-divs-content-dynamically-rendered干杯! – 2012-03-24 20:35:08

+0

据我所知,你不使用ajax删除帖子,只需使用ajax进行删除过程,并再次在成功刷新表。 – ocanal 2012-03-24 20:37:40

回答

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) 
}); 

从那里,你可以将自己的显示/隐藏绑定事件,也许称之为删除幕后的条目中的AJAX方法,并再次重新调用.load并刷新页面。

+0

不应该在'on()'调用的选择器中:'$('#terms4')。on('click','a',function(){/ *...stuff ... * /});'? – 2012-03-24 20:37:03

+0

@DavidThomas:很好的电话。这很有趣,把它全部放在我的脑海里,然后分心,并试图重新完成我的想法。感谢和好看。 ;-) – 2012-03-24 20:42:53

+0

不用担心,当我发现类似的情况时,我倾向于认为jQuery的超级秘密用法我还没有感谢...... = D并且为答案+1! – 2012-03-24 20:47:54