2010-11-13 73 views
1

單擊打開對話框中的鏈接時,內容將加載到從中打開對話框的父窗口。 如何強制將內容加載到對話框而不是父對象中?將內容加載到已打開的jQuery對話框中

家長:

dialogDiv = $(document.createElement('div')); 
dialogDiv.dialog(myProps); 
dialogDiv.html(myData); 
dialogDiv.dialog('open'); 

對話框彈出:

<a href="mysite.com">click</a>  
+0

我們在談論什麼樣的內容約在這裏(即HTML/JSON)?如果HTML,你的意圖是像IFRAME一樣行事? – John 2010-11-13 18:04:47

+0

這是純HTML。我需要顯示一張表,所以我想啓用分頁功能。我通過ajax流式傳輸數據。除了當我點擊分頁鏈接時父頁加載所有數據,這一切都可以工作。 – trajectory 2010-11-13 18:08:55

+0

儘管如此,無論內容來自何處或使用何種數據類型,只需在現場加載數據而不是父級就足夠了。 – trajectory 2010-11-13 18:11:17

回答

2

您只需在對話框<div>event.preventDefault()使用.load()上的錨(防止正常的去對HREF行爲),像這樣:

$("a").click(function(e) { 
    dialogDiv.load(this.href); 
    e.preventDefault(); 
}); 

只要更改$("a")更具體些......只選擇你想在對話框中加載的任何鏈接。同時這些頁面應該只是片段,或者如果你想<div id="content">從頁面中href使用不同的選擇,例如,它會是這樣的:

dialogDiv.load(this.href + " #content");