2012-03-24 96 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