2012-12-18 84 views
0

我有<div id='A'>中,我有一些信息</div>保持在格UI對話框的內容關閉後對話框

然後我火命令

$('#A').dialog(); 

做的事情後,我關閉對話框

$('#A').dialog('close'); 

它關閉我的所有信息。但我希望它關閉,但我的信息保留在DIV中。

問題是,在關閉時,ui對話框也會刪除整個div,因此關閉後沒有任何內容。

+0

它不應該刪除div。它會將它附加到body並從它的原始位置移除,但是如果您運行$('#A')。dialog('open');它應該再次打開。你有沒有附加到關閉事件或其他可能會修改該div的其他內容? – Syon

+0

我通過Ajax更新div的內容。 – David

+0

@Syon你對第二個dialog.open是正確的。我打開它並打開。但如果是這樣的話,爲什麼我在關閉它後看不到它? – David

回答

1

'close'方法並沒有像指出的那樣去除div,它確實將它設置爲'display:none',並且選擇器在它是對話框時不能按預期工作;至少這是我發現的。您無法使用control + f查找它,因爲它沒有顯示。如果您使用Firebug或開發人員工具查看該頁面,則會看到它仍然存在。

試試這個:

var theA = $('#A'); 
theA.dialog(); 

//do ajax stuff here; 

//some where else instead of closing the dialog 

theA.dialog('destroy'); //returns the div to its pre-dialog state 
theA.css('display','block'); 

我做了一個小提琴來證明我做了什麼,看看這是否正常工作。我使用了鎖定標誌來確保我在關閉的同時不會「對話」。但是我能夠做你正在談論的關於改變div的內容然後將其放回頁面的內容。我用摧毀而不是關閉顯示它回到頁面。

http://jsfiddle.net/jvSb3/3/

在撥弄我用一個文本框來改變div的內容,同時它在對話形式。然後在關閉處理程序中,我銷燬對話框,然後再次使其可見。

+0

破壞和顯示塊解決了這個問題,謝謝;) – David

+0

歡迎。我很高興它的工作。 –

相關問題