2011-04-14 33 views
0

我正在使用jquery,我正在尋找一個用戶點擊一個鏈接,並加載服務器響應(在這種情況下,一個線路確認)在同一個div鏈接。我走了一圈又一圈在這一點上,似乎無法做到正確。下面是我從本網站這是類似的另一篇文章有​​,但不是代碼關閉足以讓我神交...如何在用戶點擊鏈接時將網頁加載到div中?

<a href="http://10.0.1.2:8888/?ACT=24&tag_id=8" class="load_link">Add to Watchlist*</a> 

<script type="text/javascript"> 
(function($) { 
    $(function() { 
    $('.load_link').click(function() { 
     $(this).next('div').load(this.href); 
     return false; 
    }); 
    }); 
})(jQuery); 
</script> 

任何想法我做錯了嗎?

感謝

回答

1

如果錨被包裹一個div裏面,你想在這個div你可以使用.closest()方法加載響應:

<div> 
    <a href="http://10.0.1.2:8888/?ACT=24&tag_id=8" class="load_link">Add to Watchlist*</a> 
</div> 

然後:

$(this).closest('div').load(this.href); 

如果存在與錨相鄰的div:

<a href="http://10.0.1.2:8888/?ACT=24&tag_id=8" class="load_link">Add to Watchlist* 
<div></div> 

然後.next()方法應該工作。

+0

這種方法效果很好。謝謝您的幫助! – 2011-04-14 22:11:08

1

如果您將內容加載到包含div中,則鏈接將被替換。
因此,在具有鏈接的主div中添加一個span/div,並使用此子span/div加載內容。

e.g:

<div> 
    <span class="content"></span> 
    <a href="http://10.0.1.2:8888/?ACT=24&tag_id=8" class="load_link">Add to Watchlist*</a> 
</div> 

<script type="text/javascript"> 
(function($) { 
    $(function() { 
     $('.load_link').click(function() { 
       $(this).siblings(".content").load(this.href); 
       return false; 
     }); 
    }); 
})(jQuery); 
</script> 
+0

我試圖做到這一點,但它不適合我。沒有錯誤,只是沒有刷新div,但調用被傳遞給服務器。謝謝 – 2011-04-14 22:12:40

+0

修復了一個錯字。它現在工作了。 – Chandu 2011-04-14 22:37:10

0

出發點是安裝螢火蟲並進入調試會話,這樣就可以逐步執行代碼。你也想在document.ready()上做綁定,以確保在DOM準備好後綁定。

+0

我會爲將來檢查一下。謝謝。 – 2011-04-14 22:13:22

相關問題