Изменение размера JQuery UI после открытия

У меня есть диалог JQuery, который я использую, чтобы показать сообщение пользователю. Диалог имеет 2 кнопки: "ОК" и "Детали". Идея состоит в том, чтобы показать удобное для пользователя сообщение, когда открывается диалоговое окно, и когда пользователь нажимает кнопку "Подробности", я хочу показать удобное для пользователя сообщение, а также более подробное сообщение под удобным для пользователя сообщением. Кнопка "Подробности" использует функцию переключения, чтобы показать / скрыть подробное сообщение.

Диалог определяется так:

function showNewDocumentDialog(dialogTitle, dialogMessage, dialogDetailMessage) {
            var dialog$ = $('#dialogId');
            var dialogDetail$ = $('#dialogDetailId')
            var showDetailContent = false;            

            dialog$.dialog({
                autoOpen: false,
                title: dialogTitle,
                modal: true,
                width: 'auto',
                height: 'auto',
                zIndex: 39000,
                open: function (type, data) {
                    $('#dialogContentId').text(dialogMessage);
                    $('#dialogDetailContentId').text(dialogDetailMessage);
                    $(this).parent().appendTo($('form:first'));

                },
                buttons: [
                                {
                                    text: "Ok",
                                    click: function () { $(this).dialog("close"); }
                                },
                                {
                                    text: "Details",
                                    click: function () {
                                        dialogDetail$.toggle(showDetailContent);
                                        showDetailContent = !showDetailContent;
                                    }
                                }
                            ]
            });

            if (dialogDetailMessage == '') {
                $(":button:contains('Details)").attr("disabled", "disabled").addClass('ui-state-disabled');
            }
            dialog$.dialog('open');
        }
    </script>   
    <div id="dialogId" title="Title" style="display: none">        
        <p id="dialogContentId">Content</p>
        <div id="dialogDetailId" style="display: none">
            <p id="dialogDetailContentId">DetailContent</p>        
        </div>
    </div>

Как изменить размер диалогового окна, чтобы оно соответствовало как удобному для пользователя сообщению, так и подробному сообщению, когда пользователь нажимает кнопку "Сведения"? И снова уменьшить размер диалогового окна, когда пользователь нажимает кнопку "Детали", чтобы скрыть подробное сообщение?

1 ответ

Попробуйте изменить размер наложения на детали, нажмите кнопку следующим образом, получив ширину div, который сделан dailog

var width = $("selector").width();
var height = $("selector").height();

    if (width > 450) {
        $(".ui-widget-content").css("width", width);

    }
 if (height > 450) {
        $(".ui-widget-content").css("height", height);

    }

    $("#dvNotesPopup").dialog('option', 'position', 'center'); 
}
Другие вопросы по тегам