2011-12-14 65 views
2

我遇到了JQuery對話框autoResize選項的問題。我使用對話框來顯示AJAX調用結果,所以我無法預測對話框的最終高度。我希望自己調整其高度以適應其內容大小。我在那裏閱讀了關於autoResize選項,但似乎無法正常工作。JQuery UI對話框autoResize不能在Chrome中工作

這裏我的代碼:

$("#my_dialog").dialog({ 
     modal:true, 
     autoResize: true, 
     open:function(){ 
      $(this).parents(".ui-dialog:first").find(".ui-widget-header") 
      .removeClass("ui-widget-header").addClass("ui-widget-header-ia"); 
     } 
    }); 

,但加載了AJAX的內容時,對話框的大小不會改變,和滾動條顯示代替。

問題是測試這個相同的代碼,沒有在IE6 autoResize選項工作正常!

所以我想可能是因爲Google Chrome不支持這個選項。

你能幫助我嗎?非常感謝您的寶貴時間。

回答

2

我有完全一樣的problem-一個用戶對話框始終打開太低,即使內容已更新,高度也未更新。我不能在第一重現該問題,有幾個版本嘗試,OS的等等。然後我偶然發現了這一點:

http://hustoknow.blogspot.com/2010/10/chrome-and-jquery-ui-min-height-issue.html

看來,縮放級別所造成的問題,至少在我的情況。如果我使用默認縮放加載原始頁面(在Chrome中點擊Ctrl + ),對話框打開確定。然後我關閉對話框,點擊Ctrl + -(Chrome縮小),重新加載頁面F5,重新打開對話框,每次都出現問題。重新加載似乎是強制性的,如果我用默認縮放加載原始頁面然後縮小然後對話框知道它們的高度。顯然鏈接中描述的最小高度能力檢查在加載原始頁面時運行。

我還沒有想出一個解決方法,而不是縮小,但這也可能是你的問題的原因。

0

如果我們不知道我們有多少內容將顯示更好的使用resizable option爲jQuery UI的modla dialog.You可以一試出autoresize plugin

+0

沒有可調整大小的選項或自動調整大小的插件工作:(,它似乎忽略選項`autoResize`和`resizable` – 2011-12-14 15:22:41

+0

在jquery文檔頁面中,它表示`resizable`選項的默認值是true,所以在對話框的初始化過程中不包含它的是相同的 – 2011-12-14 15:25:22

1

我發現當創建/打開對話框時,jQuery UI顯式設置元素的高度。因此,一個有效的解決方法是簡單地復位後像開口,該元素的CSS height屬性

element.dialog('open'); 
    element.css('height', '');