2011-03-22 79 views
3

我有div(比如div1),其中包含兩個下拉框和另一個div(比如說div2)的形式。我已經將這個div1定義爲jquery對話框。在第一次下拉更改時會填充另一個下拉列表,第二次下拉更改時,div2將加載ajax調用的html結果。jQuery對話框縮小當我第二次打開

現在我使用關閉按鈕關閉對話框,然後當我嘗試重新打開對話框(div1)時,對話框高度縮小到提到的高度以下。如果我打開對話框而不更改第二個下拉列表,它工作正常。 只有當onchange發生在第二個下拉菜單時,對話框纔會縮小。

jQuery的對話框打開DIV1:

$("#fileDoc").dialog({ 
    bgiframe: true,  
     autoOpen: false, 
     height: 680, 
     width: 800, 
     modal: true, 
     resizable: false 
}); 

jQuery的對話框關閉DIV1:

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

jQuery的Ajax調用加載HTML在DIV2:

$("#doc").html(data); 

我正在使用jQuery 1.4.4和UI 1.8.2。

回答

2

我發現了這個問題。 div2在關閉div1對話框之前應該是空的,否則div2的高度也會隨着對話框高度而減少,因此它會降低jQuery UI對話框1.8.2中的高度。

所以,jQuery的對話框關閉DIV1:

$("#div2").html(""); $("#fileDoc").dialog("close"); 
+1

我的英雄;)。我在這裏失去了幾個小時。我不得不隱藏並顯示jqgrid來解決我的問題,但是這個答案讓我走上了正軌。 – elrado 2014-08-20 06:06:35

2

關閉時,請確保您銷燬對話框.dialog("destroy"),否則對話框及其內容將保持隱藏在DOM中。這可能會產生問題,因爲ID是唯一的,並且只能打開一個相同#id的實例。

+0

侯賽因,感謝您的答覆。但它不適合我。 :( – Karthik 2011-03-22 08:16:13