Размер диалогового окна jQueryUI

#jquery #jquery-ui #jquery-ui-dialog

#jquery #jquery-пользовательский интерфейс #jquery-пользовательский интерфейс-dialog

Вопрос:

Я новичок в jQueryUI, и хотя у меня работает диалоговое окно, оно открывается не в том размере, который, как мне кажется, я указываю. Почему настройка ширины и высоты при определении диалогового окна не влияет на начальный размер диалогового окна? Как мне сделать его размером 600 на 500 пикселей?

Вот div, который определяет диалоговое окно:

 <div id="dialog-form" title="Create Appointment">   
  <form> . . . </form>
</div>
  

Вот JavaScript, который превращает его в диалог:

 $(function() {
    $("#dialog-form").dialog({
        autoOpen: false,
        maxWidth:600,
        maxHeight: 500,
        width: 600,
        height: 500,
        modal: true,
        buttons: {
            "Create": function() {
                $(this).dialog("close");
            },
            Cancel: function() {
                $(this).dialog("close");
            }
        },
        close: function() {
        }
    });
  

И JavaScript, который определяет кнопку для его открытия:

 $("#create-appt")
    .button()
    .click(function() {
        $("#dialog-form").dialog("open");
    });
});
  

Редактировать:

Теперь я вижу проблему: это сработало бы нормально, за исключением того, что я запускал его в Google Chrome, используя --app=... параметр командной строки, поэтому он не перезагружал все приложение.

Ответ №1:

Вопрос: Почему настройка ширины и высоты при определении диалогового окна не влияет на начальный размер диалогового окна?

Ответ: Это так… какой браузер вы используете и версию jQuery.

Я вырезал / вставил ваш код сверху в небольшой образец, и он отлично сработал… Я вставил полный образец ниже, вы можете попробовать его на своей стороне.

  <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>jQuery UI Example Page</title>
        <link type="text/css" href="css/ui-lightness/jquery-ui-1.8.11.custom.css"      rel="stylesheet" />  
        <script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.8.11.custom.min.js">     </script>
        <script type="text/javascript">
        $(document).ready(function () {
            $(function() {
            $("#dialog-form").dialog({
                autoOpen: false,
                    maxWidth:600,
                    maxHeight: 500,
                    width: 600,
                    height: 500,
                    modal: true,
                    buttons: {
                    "Create": function() {
                    $(this).dialog("close");
                    },
                    Cancel: function() {
                    $(this).dialog("close");
                    }
                },
                    close: function() {
                }
                });
            });

            $("#create-appt")
            .button()
            .click(function() {
                $("#dialog-form").dialog("open");
            });
        });
        </script>

    </head>
        <body>
    <h1>test</h1>
    <div id="dialog-form" title="Create Appointment">   
        <p> this is my test </p>
    </div>
    <input type="button" id="create-appt" value="test"/>
    </body>
 </html>
  

Комментарии:

1. Именно так: это работало. Смотрите мою правку выше по причине, по которой я не смог ее увидеть.

Ответ №2:

Я не знаю точно, что это происходит, но вы можете немного изменить свой код, и это приведет к ожидаемому результату:

Вместо использования автозапуска вы можете установить эти параметры в событии onclick:

 $("#create-appt")
    .button()
    .click(function() {
        $("#dialog-form").dialog({width: 600,height:500});
    });
  

Я надеюсь, что это поможет
с наилучшими пожеланиями,
Марсело Висмари

Комментарии:

1. Я пробовал это таким образом ранее, и получилось то же самое; причину смотрите в моей последней правке.