2011-12-08 97 views
0

如果在已经显示对话框时打开对话框,则默认情况下,第二个对话框不会超出第一个对话框的宽度。即使第二个对话框实际上并未包含在第一个对话框中(我通过单击第一个对话框中的链接来获得第二个对话框),情况也是如此。jQueryUI:调整对话框中的对话框大小?

我可以在第二个对话框上设置明确的宽度,但这并不理想。我真的希望它能自动调整大小(比如第一个/背景对话框)的内容(quasipartikel multiselect)。如果在第二个对话框上有明确的宽度,我通常会得到两组滚动条:一个在对话框本身上,另一个在内部多选列表中。

请注意,我只尝试在JS .dialog()调用中使用显式宽度来调整第二个对话框的大小,而不是通过css(我几乎不知道)。

有没有人有任何想法如何自动调整第二个对话框?谢谢。

编辑

一些代码加入建议:

<div id="dialog-top" title="Tab data"> 
    <form> 
    ...lots of stuff, including id 'addCodeButton', which 
    ...pops up the second dialog 
    </form> 
</div> <!-- dialog-top --> 

<div id="dialog-add-code" title="Code selector"> 
    <select id = "codes" ...etc... > 
    ... 
    </select> 
</div> 

$(function(){ 
    $('#addCodeButton').click(function(){ 
     // problem: this 'open' will not set the width of the new dialog 
     // wider than 'dialog-top' unless an explicit width is given 
     // (see '460' below) 
     $('#dialog-add-code').dialog('open'); 
     return false; 
    }); 
}); 

var $dialog = $("#dialog-top").dialog({ 
    autoOpen: false, 
    modal: true, 
    buttons: { 
    ... 
    } 
}); 

$('#dialog-add-code').dialog({ 
    autoOpen: false, 
    width: 460, 
    modal: false, 
    buttons: { 
    ... 
    } 
}); 
+0

可能会提供一些代码 –

回答

1

我不知道是什么导致你的问题。这里是小提琴演示,你想要什么工作。

http://jsfiddle.net/brettzink/NASyR/

你试过.dialog({width:"auto"});

+0

Aaahh ...不,我没有。如果我忽略宽度规格,我认为它会是自动的。我只是把“自动”,它的作品。谢谢 - 对不起! – EML

+0

没问题。乐于帮助! – BZink