为什么jquery dialog()自动高度,宽度失败?

时间:2013-05-06 08:37:01

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

我正在使用一些jquery弹出窗口

 var div = $('#mditem_temp');
 var dlg = $(div).html(data).dialog({
                        height: 'auto',
                        width: 'auto',
                        modal: true,
                        show: "drop",
                        hide: "fold",
                        position: "top",
                        autoResize:true,
                        close: function (event, ui) {
                            $("#mditem_temp").dialog('close');
                        },
                        buttons: {
                            'Add': function (d) {
                                pqr();

                                $(this).dialog('close');
                                $("#mditem_temp").dialog('close');

                            }
                        }
                    }).dialog('open');

并且要写入的数据是局部视图,但弹出窗口不会根据数据调整高度宽度。可能是什么原因?

1 个答案:

答案 0 :(得分:1)

这通常是由数据变量中固定的高度/宽度或显示问题引起的。检查Firebug或类似工具中的渲染部分,看看它是否在对话框的包含区域外渲染。如果不是那么那就是导致问题的数据html的大小。

当然,另一个选择是在每个开口上动态设置对话框的高度:

$(div).html(data).dialog({
  ...
  open: function(){
    var height = [calculate height with JS];
    $(this).height(height);
  }
});