2011-05-13 166 views
0

是否可以將.dialog展開以適合內容?我知道我可以設置寬度,高度屬性。我有一個有N行的表格。我想讓對話框顯示整個表格。僅當表格的大小超出瀏覽器窗口的大小時才顯示滾動條。

這可能嗎?

回答

3

應該不是問題。首先計算視口的高度。然後將高度分配給dialog屬性。不知怎的,像這樣:

var windowHeight = $(window).height(); 
$('.myTable').dialog({'height': windowHeight}); 
// or use the maxHeight-property... 
0

你不能指定「auto」作爲height屬性的值嗎?從docs

對話框的高度,以像素爲單位。指定'auto'也支持根據其內容來調整對話框。

0

加上faileN的答案,如果你想顯示整個表,由於窗口大小,你可以設置它的高度,窗口大小。

var wHeight= $(window).height(); 
var wWidth = $(window).width(); 

$('.myTable).dialog({'height': wHeight, 'width':wWidth }); 
0

做這樣的事情:

var $table = $("#tableId"), 
    $window = $(window); 

$table.dialog({ 

    // other properties set here ... 

    maxHeight: $window.height() - 50, 
    maxWidth: $window.width() - 50, 
    height: $table.outerHeight(true) + 50, 
    width: $table.outerWidth(true) + 50 

}); 

// I always give some room, hence the 50 
+0

你可以像麻袋說,離開的高度和寬度孤單,因爲它們設置爲''auto'',然後你可以設置maxHeight和如果內容超過視口,maxWidth屬性將強制執行滾動。或者,如果你想手動做高度和寬度,你也可以這樣做,就像我的答案一樣。 – 2011-05-13 18:03:51