当我第二次打开时,jQuery对话框会缩小

时间:2011-03-22 06:21:54

标签: jquery jquery-ui-dialog jquery-dialog

我有div(比如说div1),它包含两个下拉框和一个另一个div的表格(比如div2)。我已将此div1定义为jquery对话框。在更改第一个下拉列表时,将填充另一个下拉列表,并且在第二个下拉列表更改时,div2将加载一个ajax调用的html结果。

现在我使用关闭按钮关闭对话框,然后当我尝试重新打开对话框(div1)时,对话框高度缩小到下面提到的高度。如果我打开对话框而不更改第二个下拉列表,它工作正常。  只有在第二次下拉列表中出现 onchange 时,对话框才会缩小。

jQuery Dialog打开div1:

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

jQuery对话框关闭div1:

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

jQuery ajax调用在div2中加载html:

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

我正在使用jQuery 1.4.4和UI 1.8.2。

2 个答案:

答案 0 :(得分:2)

关闭时,请确保您正在销毁对话框.dialog( "destroy" ),否则对话框及其内容将保留在DOM中。这可能会产生问题,因为ID是唯一的,并且您只能打开一个相同#id的实例。

答案 1 :(得分:2)

我发现了这个问题。在关闭div1对话框之前div2应为空,否则div2高度也会被取消并减去对话框高度,因此它会降低jQuery UI Dialog 1.8.2中的高度。

所以,jQuery对话框关闭div1:

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