jQueryUI:调整对话框中的对话框大小?

时间:2011-12-08 17:23:59

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

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

我可以在第二个对话框上设置显式宽度,但这并不理想。我真的希望它自动调整其内容(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: {
    ...
  }
});

1 个答案:

答案 0 :(得分:1)

我不确定是什么原因引起了你的问题。这里的小提琴展示了你想要的东西。

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

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