0

我有一个这样配置的 jQuery 对话框:

var dialogOptions = {
    autoOpen:       false, 
    modal:          false,
    draggable:      false,
    resizable:      false, 
    closeOnEscape:  false,
    minHeight:      450,
    minWidth:       800,
    height:         450,
    width:          800,
    create: function() {
        $(this).css("maxHeight", 450).css('maxWidth',800);        
    }

    buttons:        { "Close": function() { $(this).dialog("close"); }}
};

$("#detailDialog").dialog(dialogOptions);

我使用的 jQuery 版本是 jquery-1.7.2。

我打开对话框以响应这样的 href 点击:

function openDetailDialog(url) 
{
    $('#detailDialog').dialog({'my':'center', 'at':'center','of':$(this)});
    $('#detailDialog').dialog('open').load(encodeURI(url)); 
}

我正在加载的 div 如下所示:

<div id="detailDialog" style="width:800px;height:450px;overflow-y:scroll;display:none;"></div>

我正在加载到对话框中的页面是一个简单的 HTML 表格,它显示了一个 SQL 数据集。

现在,数据集可以是任意长度,从一条记录到数百条记录不等。这一切都只是花花公子。

邪恶问题: 我似乎无法每次都将 jQuery 对话框限制为相同的大小。第一次按照上面的设置正常显示。此后的每一次,要么太短,要么太长。我尝试的任何方法似乎都无法纠正这一点。

我需要在显示记录集的表格周围放置一个 div 吗?我试过没有用。

我在 SO 上看到很多关于 maxHeight 的内容,但对话框似乎不尊重这个属性。

我正准备告别对话框并恢复到 1990 年代的窗口弹出窗口。

4

1 回答 1

1

只需在您的 css 文件中添加以下 css 类

    <style type="text/css">
        .ui-dialog-content 
        { height: 450px !important; }
    </style>

如果您仍然遇到问题,请告诉我

于 2013-08-30T16:05:42.013 回答